diff --git a/skins/mursky/active/base.bmp b/skins/mursky/active/base.bmp new file mode 100644 index 0000000000..ce04c24045 Binary files /dev/null and b/skins/mursky/active/base.bmp differ diff --git a/skins/mursky/active/left.bmp b/skins/mursky/active/left.bmp new file mode 100644 index 0000000000..2f95420cac Binary files /dev/null and b/skins/mursky/active/left.bmp differ diff --git a/skins/mursky/active/oper.bmp b/skins/mursky/active/oper.bmp new file mode 100644 index 0000000000..d2dd9bd512 Binary files /dev/null and b/skins/mursky/active/oper.bmp differ diff --git a/skins/mursky/inactive/base.bmp b/skins/mursky/inactive/base.bmp new file mode 100644 index 0000000000..737498f381 Binary files /dev/null and b/skins/mursky/inactive/base.bmp differ diff --git a/skins/mursky/inactive/left.bmp b/skins/mursky/inactive/left.bmp new file mode 100644 index 0000000000..1033dc6451 Binary files /dev/null and b/skins/mursky/inactive/left.bmp differ diff --git a/skins/mursky/inactive/oper.bmp b/skins/mursky/inactive/oper.bmp new file mode 100644 index 0000000000..f93e522df9 Binary files /dev/null and b/skins/mursky/inactive/oper.bmp differ diff --git a/skins/mursky/mursky.asm b/skins/mursky/mursky.asm new file mode 100644 index 0000000000..e6147ef216 --- /dev/null +++ b/skins/mursky/mursky.asm @@ -0,0 +1,40 @@ +;;===================================================================== +;; dunkaist, Mario | 2010 +;;--------------------------------------------------------------------- + +include 'my_skin.inc' + +SKIN_PARAMS \ + height = bmp_base.height, \ ; skin height + margins = [5:1:42:1], \ ; margins [left:top:right:bottom] + colors \ + active = [ \ + binner = 0x95afc6: \ ; border inner color + bouter = 0x607180: \ ; border outer color + bframe = 0xd3e0eb], \ ; border frame color + colors \ + inactive = [ \ + binner = 0x95afc6: \ ; border inner color + bouter = 0x7c92a5: \ ; border outer color + bframe = 0xeaf0f5], \ ; border frame color +\ + dtp = 'mursky.dtp' ; dtp colors + +SKIN_BUTTONS \ + close = [-23:2][20:20], \ ; buttons coordinates + minimize = [-43:2][20:20] ; [left:top][width:height] + +SKIN_BITMAPS \ + left active = bmp_left, \ ; skin bitmaps pointers + left inactive = bmp_left1, \ + oper active = bmp_oper, \ + oper inactive = bmp_oper1, \ + base active = bmp_base, \ + base inactive = bmp_base1 + +BITMAP bmp_left ,'active/left.bmp' ; skin bitmaps +BITMAP bmp_oper ,'active/oper.bmp' +BITMAP bmp_base ,'active/base.bmp' +BITMAP bmp_left1,'inactive/left.bmp' +BITMAP bmp_oper1,'inactive/oper.bmp' +BITMAP bmp_base1,'inactive/base.bmp' diff --git a/skins/mursky/mursky.dtp.asm b/skins/mursky/mursky.dtp.asm new file mode 100644 index 0000000000..71c69f0ec5 --- /dev/null +++ b/skins/mursky/mursky.dtp.asm @@ -0,0 +1,10 @@ +frame dd 0x95afcf +grab dd 0x95afcf +grab_button dd 0x95afcf +grab_button_text dd 0xffffff +grab_text dd 0x333333 +work dd 0xe2e4e4 +work_button dd 0xacc4da +work_button_text dd 0x001c1e +work_text dd 0x333333 +work_graph dd 0x95afcf \ No newline at end of file diff --git a/skins/mursky/mursky.png b/skins/mursky/mursky.png new file mode 100644 index 0000000000..ab0d396307 Binary files /dev/null and b/skins/mursky/mursky.png differ diff --git a/skins/mursky/my_skin.inc b/skins/mursky/my_skin.inc new file mode 100644 index 0000000000..ccbb3c191c --- /dev/null +++ b/skins/mursky/my_skin.inc @@ -0,0 +1,235 @@ +;============================================================================ +; This file should be used to generate skins of new standard +;============================================================================ +; skin file structure: +;---------------------------------------------------------------------------- +; header: +; dd 'SKIN' +; dd = version (1 for now) +; dd @ params +; dd @ buttons +; dd @ bitmaps +; ... +;---------------------------------------------------------------------------- +; NOTE: order of sections listed below is insignificant +; since they're identified by pointer in above header +;---------------------------------------------------------------------------- +; ... +; params: +; dd = skin height +; dw = right margin +; dw = left margin +; dw = bottom margin +; dw = top margin +; dd = inner line color +; dd = outer line color +; dd = frame color +; dd = dtp file size +; ?? = dtp file itself +; ... +;---------------------------------------------------------------------------- +; ... +; buttons: +; dd = button type (1 = close, 2 = minimize) +; dw = left button coord (could be negative) +; dw = top button coord (could be negative) +; dw = button width +; dw = button height +; ... etc for all buttons +; dd = 0 (end of buttons list) +; ... +;---------------------------------------------------------------------------- +; ... +; bitmaps: +; dw = bitmap kind (1 = left, 2 = oper, 3 = base) +; dw = bitmap type (1 = active, 0 = inactive) +; dd @ bitmap +; ... etc for all bitmaps +; dd 0 (end of bitmaps list) +; ... +;---------------------------------------------------------------------------- +; ... +; bitmap: +; dd = bitmap width +; dd = bitmap height +; ?? = raw bitmap data +; ... etc for all bitmaps +; ... +;============================================================================ + +dd 'SKIN',1,__params__,__buttons__,__bitmaps__ + +struc BITMAPFILEHEADER { + .bfType dw ? ; WORD + .bfSize dd ? ; DWORD + .bfReserved1 dw ? ; WORD + .bfReserved2 dw ? ; WORD + .bfOffBits dd ? ; DWORD +} + +struc BITMAPINFOHEADER { + .biSize dd ? ; DWORD + .biWidth dd ? ; LONG + .biHeight dd ? ; LONG + .biPlanes dw ? ; WORD + .biBitCount dw ? ; WORD + .biCompression dd ? ; DWORD + .biSizeImage dd ? ; DWORD + .biXPelsPerMeter dd ? ; LONG + .biYPelsPerMeter dd ? ; LONG + .biClrUsed dd ? ; DWORD + .biClrImportant dd ? ; DWORD +} + +struc _bmp { + .h BITMAPFILEHEADER + .i BITMAPINFOHEADER +} +virtual at 0 + _bmp _bmp +end virtual + +macro BITMAP _name*,_fname* +{ + local w,h,a,r,g,b + virtual at 0 + file _fname + load w dword from _bmp.i.biWidth + load h dword from _bmp.i.biHeight + end virtual + align 4 + label _name + .width = w + .height = h + dd w,h + a=54+(w*3+(w mod 4))*(h-1) + size = $ + repeat h + repeat w + virtual at 0 + file _fname + load r from a+0 + load g from a+1 + load b from a+2 + end virtual + db r,g,b + a=a+3 + end repeat + a=a-w*3*2-(w mod 4) + end repeat +} + +macro define_colors name,[col,val] +{ + common + local a,b,c + forward + match =binner,col \{ a = val \} + match =bouter,col \{ b = val \} + match =bframe,col \{ c = val \} + common + name equ a,b,c +} + +macro SKIN_PARAMS [a] +{ + common + local _height,_margins,_colors,_colors_1,_dtp,_dtp_sz + __params__: + forward + match qq == ww,a + \{ + match =height,qq \\{ _height = ww \\} + match =margins,qq \\{ + match [q1:q2:q3:q4],ww + \\\{ + _margins equ q3,q1,q4,q2 + \\\} + \\} + match =colors =active,qq + \\{ + match [q10==q11:q20==q21:q30==q31],ww + \\\{ + define_colors _colors,q10,q11,q20,q21,q30,q31 + \\\} + \\} + match =colors =inactive,qq + \\{ + match [q10==q11:q20==q21:q30==q31],ww + \\\{ + define_colors _colors_1,q10,q11,q20,q21,q30,q31 + \\\} + \\} + match =dtp,qq \\{ _dtp equ ww \\} + \} + common + dd _height + dw _margins + dd _colors,_colors_1 + virtual at 0 + file _dtp + _dtp_sz = $ + end virtual + dd _dtp_sz + file _dtp +} + +macro SKIN_BUTTONS [a] +{ + common + local btn + __buttons__: + forward + match qq == ww,a + \{ + btn = 0 + match =close,qq \\{ btn = 1 \\} + match =minimize,qq \\{ btn = 2 \\} + match [q1:q2][q3:q4],ww + \\{ + if btn <> 0 + dd btn + dw q1,q2,q3,q4 + end if + \\} + \} + common + dd 0 +} + +macro SKIN_BITMAPS [a] +{ + common + local bmp + __bitmaps__: + forward + match qq == ww,a + \{ + bmp=-1 + match qqq =active,qq \\{ bmp = 1 \\} + match qqq =inactive,qq \\{ bmp = 0 \\} + match =left qqq,qq + \\{ + if bmp >= 0 + dw 1,bmp + dd ww + end if + \\} + match =oper qqq,qq + \\{ + if bmp >= 0 + dw 2,bmp + dd ww + end if + \\} + match =base qqq,qq + \\{ + if bmp >= 0 + dw 3,bmp + dd ww + end if + \\} + \} + common + dd 0 +} \ No newline at end of file diff --git a/skins/testtest/active/base.bmp b/skins/testtest/active/base.bmp new file mode 100644 index 0000000000..4ab8c077cf Binary files /dev/null and b/skins/testtest/active/base.bmp differ diff --git a/skins/testtest/active/left.bmp b/skins/testtest/active/left.bmp new file mode 100644 index 0000000000..5bd7b983f9 Binary files /dev/null and b/skins/testtest/active/left.bmp differ diff --git a/skins/testtest/active/oper.bmp b/skins/testtest/active/oper.bmp new file mode 100644 index 0000000000..ed72194029 Binary files /dev/null and b/skins/testtest/active/oper.bmp differ diff --git a/skins/testtest/inactive/base.bmp b/skins/testtest/inactive/base.bmp new file mode 100644 index 0000000000..697bbef8f1 Binary files /dev/null and b/skins/testtest/inactive/base.bmp differ diff --git a/skins/testtest/inactive/left.bmp b/skins/testtest/inactive/left.bmp new file mode 100644 index 0000000000..574a5add46 Binary files /dev/null and b/skins/testtest/inactive/left.bmp differ diff --git a/skins/testtest/inactive/oper.bmp b/skins/testtest/inactive/oper.bmp new file mode 100644 index 0000000000..7a05539505 Binary files /dev/null and b/skins/testtest/inactive/oper.bmp differ diff --git a/skins/testtest/my_skin.inc b/skins/testtest/my_skin.inc new file mode 100644 index 0000000000..0a5d237018 --- /dev/null +++ b/skins/testtest/my_skin.inc @@ -0,0 +1,235 @@ +;============================================================================ +; This file should be used to generate skins of new standard +;============================================================================ +; skin file structure: +;---------------------------------------------------------------------------- +; header: +; dd 'SKIN' +; dd = version (1 for now) +; dd @ params +; dd @ buttons +; dd @ bitmaps +; ... +;---------------------------------------------------------------------------- +; NOTE: order of sections listed below is insignificant +; since they're identified by pointer in above header +;---------------------------------------------------------------------------- +; ... +; params: +; dd = skin height +; dw = right margin +; dw = left margin +; dw = bottom margin +; dw = top margin +; dd = inner line color +; dd = outer line color +; dd = frame color +; dd = dtp file size +; ?? = dtp file itself +; ... +;---------------------------------------------------------------------------- +; ... +; buttons: +; dd = button type (1 = close, 2 = minimize) +; dw = left button coord (could be negative) +; dw = top button coord (could be negative) +; dw = button width +; dw = button height +; ... etc for all buttons +; dd = 0 (end of buttons list) +; ... +;---------------------------------------------------------------------------- +; ... +; bitmaps: +; dw = bitmap kind (1 = left, 2 = oper, 3 = base) +; dw = bitmap type (1 = active, 0 = inactive) +; dd @ bitmap +; ... etc for all bitmaps +; dd 0 (end of bitmaps list) +; ... +;---------------------------------------------------------------------------- +; ... +; bitmap: +; dd = bitmap width +; dd = bitmap height +; ?? = raw bitmap data +; ... etc for all bitmaps +; ... +;============================================================================ + +dd 'SKIN',1,__params__,__buttons__,__bitmaps__ + +struc BITMAPFILEHEADER { + .bfType dw ? ; WORD + .bfSize dd ? ; DWORD + .bfReserved1 dw ? ; WORD + .bfReserved2 dw ? ; WORD + .bfOffBits dd ? ; DWORD +} + +struc BITMAPINFOHEADER { + .biSize dd ? ; DWORD + .biWidth dd ? ; LONG + .biHeight dd ? ; LONG + .biPlanes dw ? ; WORD + .biBitCount dw ? ; WORD + .biCompression dd ? ; DWORD + .biSizeImage dd ? ; DWORD + .biXPelsPerMeter dd ? ; LONG + .biYPelsPerMeter dd ? ; LONG + .biClrUsed dd ? ; DWORD + .biClrImportant dd ? ; DWORD +} + +struc _bmp { + .h BITMAPFILEHEADER + .i BITMAPINFOHEADER +} +virtual at 0 + _bmp _bmp +end virtual + +macro BITMAP _name*,_fname* +{ + local w,h,a,r,g,b + virtual at 0 + file _fname + load w dword from _bmp.i.biWidth + load h dword from _bmp.i.biHeight + end virtual + align 4 + label _name + .width = w + .height = h + dd w,h + a=0x7A+(w*3+(w mod 4))*(h-1) + size = $ + repeat h + repeat w + virtual at 0 + file _fname + load r from a+0 + load g from a+1 + load b from a+2 + end virtual + db r,g,b + a=a+3 + end repeat + a=a-w*3*2-(w mod 4) + end repeat +} + +macro define_colors name,[col,val] +{ + common + local a,b,c + forward + match =binner,col \{ a = val \} + match =bouter,col \{ b = val \} + match =bframe,col \{ c = val \} + common + name equ a,b,c +} + +macro SKIN_PARAMS [a] +{ + common + local _height,_margins,_colors,_colors_1,_dtp,_dtp_sz + __params__: + forward + match qq == ww,a + \{ + match =height,qq \\{ _height = ww \\} + match =margins,qq \\{ + match [q1:q2:q3:q4],ww + \\\{ + _margins equ q3,q1,q4,q2 + \\\} + \\} + match =colors =active,qq + \\{ + match [q10==q11:q20==q21:q30==q31],ww + \\\{ + define_colors _colors,q10,q11,q20,q21,q30,q31 + \\\} + \\} + match =colors =inactive,qq + \\{ + match [q10==q11:q20==q21:q30==q31],ww + \\\{ + define_colors _colors_1,q10,q11,q20,q21,q30,q31 + \\\} + \\} + match =dtp,qq \\{ _dtp equ ww \\} + \} + common + dd _height + dw _margins + dd _colors,_colors_1 + virtual at 0 + file _dtp + _dtp_sz = $ + end virtual + dd _dtp_sz + file _dtp +} + +macro SKIN_BUTTONS [a] +{ + common + local btn + __buttons__: + forward + match qq == ww,a + \{ + btn = 0 + match =close,qq \\{ btn = 1 \\} + match =minimize,qq \\{ btn = 2 \\} + match [q1:q2][q3:q4],ww + \\{ + if btn <> 0 + dd btn + dw q1,q2,q3,q4 + end if + \\} + \} + common + dd 0 +} + +macro SKIN_BITMAPS [a] +{ + common + local bmp + __bitmaps__: + forward + match qq == ww,a + \{ + bmp=-1 + match qqq =active,qq \\{ bmp = 1 \\} + match qqq =inactive,qq \\{ bmp = 0 \\} + match =left qqq,qq + \\{ + if bmp >= 0 + dw 1,bmp + dd ww + end if + \\} + match =oper qqq,qq + \\{ + if bmp >= 0 + dw 2,bmp + dd ww + end if + \\} + match =base qqq,qq + \\{ + if bmp >= 0 + dw 3,bmp + dd ww + end if + \\} + \} + common + dd 0 +} diff --git a/skins/testtest/testtest.asm b/skins/testtest/testtest.asm new file mode 100644 index 0000000000..f76c241846 --- /dev/null +++ b/skins/testtest/testtest.asm @@ -0,0 +1,40 @@ +;;===================================================================== +;; dunkaist, Mario | 2010 +;;--------------------------------------------------------------------- + +include 'my_skin.inc' + +SKIN_PARAMS \ + height = bmp_base.height, \ ; skin height + margins = [5:1:1:1], \ ; margins [left:top:right:bottom] + colors \ + active = [ \ + binner = 0xff0000: \ ; border inner color + bouter = 0xff0000: \ ; border outer color + bframe = 0x00ff00], \ ; border frame color + colors \ + inactive = [ \ + binner = 0x00ff00: \ ; border inner color + bouter = 0x00ff00: \ ; border outer color + bframe = 0xff0000], \ ; border frame color +\ + dtp = 'testtest.dtp' ; dtp colors + +SKIN_BUTTONS \ + close = [-23:2][20:107], \ ; buttons coordinates + minimize = [-43:2][20:107] ; [left:top][width:height] + +SKIN_BITMAPS \ + left active = bmp_left, \ ; skin bitmaps pointers + left inactive = bmp_left1, \ + oper active = bmp_oper, \ + oper inactive = bmp_oper1, \ + base active = bmp_base, \ + base inactive = bmp_base1 + +BITMAP bmp_left ,'active/left.bmp' ; skin bitmaps +BITMAP bmp_oper ,'active/oper.bmp' +BITMAP bmp_base ,'active/base.bmp' +BITMAP bmp_left1,'inactive/left.bmp' +BITMAP bmp_oper1,'inactive/oper.bmp' +BITMAP bmp_base1,'inactive/base.bmp' diff --git a/skins/testtest/testtest.dtp.asm b/skins/testtest/testtest.dtp.asm new file mode 100644 index 0000000000..71c69f0ec5 --- /dev/null +++ b/skins/testtest/testtest.dtp.asm @@ -0,0 +1,10 @@ +frame dd 0x95afcf +grab dd 0x95afcf +grab_button dd 0x95afcf +grab_button_text dd 0xffffff +grab_text dd 0x333333 +work dd 0xe2e4e4 +work_button dd 0xacc4da +work_button_text dd 0x001c1e +work_text dd 0x333333 +work_graph dd 0x95afcf \ No newline at end of file