From 4054dfc2615785c7c70d096f519986ec4c15976c Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Sun, 8 Sep 2019 05:04:09 +0000 Subject: [PATCH] skins: add LucidChocolate by ConLenov git-svn-id: svn://kolibrios.org@7687 a494cfbc-eb01-0410-851d-a64ba20cac60 --- skins/LucidChocolate/LucidChocolate.asm | 31 +++ skins/LucidChocolate/Tupfile.lua | 2 + skins/LucidChocolate/base.bmp | Bin 0 -> 582 bytes skins/LucidChocolate/base_1.bmp | Bin 0 -> 582 bytes skins/LucidChocolate/build.bat | 4 + skins/LucidChocolate/default.dtp.asm | 11 ++ skins/LucidChocolate/left.bmp | Bin 0 -> 406 bytes skins/LucidChocolate/left_1.bmp | Bin 0 -> 406 bytes skins/LucidChocolate/oper.bmp | Bin 0 -> 3134 bytes skins/LucidChocolate/oper_1.bmp | Bin 0 -> 3134 bytes skins/LucidChocolate/skin.inc | 239 ++++++++++++++++++++++++ skins/skinlist.lua | 1 + 12 files changed, 288 insertions(+) create mode 100644 skins/LucidChocolate/LucidChocolate.asm create mode 100644 skins/LucidChocolate/Tupfile.lua create mode 100644 skins/LucidChocolate/base.bmp create mode 100644 skins/LucidChocolate/base_1.bmp create mode 100644 skins/LucidChocolate/build.bat create mode 100644 skins/LucidChocolate/default.dtp.asm create mode 100644 skins/LucidChocolate/left.bmp create mode 100644 skins/LucidChocolate/left_1.bmp create mode 100644 skins/LucidChocolate/oper.bmp create mode 100644 skins/LucidChocolate/oper_1.bmp create mode 100644 skins/LucidChocolate/skin.inc diff --git a/skins/LucidChocolate/LucidChocolate.asm b/skins/LucidChocolate/LucidChocolate.asm new file mode 100644 index 0000000000..ea97363a50 --- /dev/null +++ b/skins/LucidChocolate/LucidChocolate.asm @@ -0,0 +1,31 @@ +include 'skin.inc' + +SKIN_PARAMS \ + height = bmp_base.height,\ ; skin height + margins = [5:1:60:1],\ ; margins [left:top:right:bottom] + colors active = [binner=0xf0ebe2:\ ; border inner color + bouter=0x625a4d:\ ; border outer color + bframe=0xf0ebe2],\ ; border frame color + colors inactive = [binner=0xf0ebe2:\ ; border inner color + bouter=0x625a4d:\ ; border outer color + bframe=0xf0ebe2],\ ; border frame color + dtp = 'default.dtp' ; dtp colors + +SKIN_BUTTONS \ + close = [-23:5][15:16],\ ; buttons coordinates + minimize = [-39:5][15:16] ; [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 ,'left.bmp' ; skin bitmaps +BITMAP bmp_oper ,'oper.bmp' +BITMAP bmp_base ,'base.bmp' +BITMAP bmp_left1,'left_1.bmp' +BITMAP bmp_oper1,'oper_1.bmp' +BITMAP bmp_base1,'base_1.bmp' \ No newline at end of file diff --git a/skins/LucidChocolate/Tupfile.lua b/skins/LucidChocolate/Tupfile.lua new file mode 100644 index 0000000000..3476fbc287 --- /dev/null +++ b/skins/LucidChocolate/Tupfile.lua @@ -0,0 +1,2 @@ +if tup.getconfig("NO_FASM") ~= "" then return end +tup.rule("LucidChocolate.asm", 'fasm "%f" "%o" ' .. tup.getconfig("KPACK_CMD"), "LucidChocolate.skn") diff --git a/skins/LucidChocolate/base.bmp b/skins/LucidChocolate/base.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7dfb78b01d7cb774cd1bafd355b307b2a467719e GIT binary patch literal 582 zcmZ?rbz@=x12Z700mK|YEC$4k3=%++fk6N&59UA#b8DMX1PlR7TRW`C#=#LQvU7I9 riX7eCu_6~wFRaMj#}_N|@(aLXe-!>tRA0Xhj z)(t~%6Cn^)>u=*APLS#@+NDuSQQrwYB>N13s5_c5%8m%~`pLLpB1e65DY+~VT)Ox9 H{`!G0IxJrp literal 0 HcmV?d00001 diff --git a/skins/LucidChocolate/left_1.bmp b/skins/LucidChocolate/left_1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..811adc45004a63514794dfa87102211aea72cdd7 GIT binary patch literal 406 zcmd7H-3@{;6o%o$g)10GZ~_$h5ekSPRjMtf#6$!W1if+?=e2N%GuS-mOWu^wj|Rij z)y~yT)J@fCFjEUqj{if9LyJl`RtwWYaJn}C-DR^hEyH#Y@bY0gYs>Xe-!>tRA0Xhj z)(t~%6Cn^)>u=*APLS#@+NDuSQQrwYB>N13s5_c5%8m%~`pLLpB1e65DY+~VT)Ox9 H{`!G0IxJrp literal 0 HcmV?d00001 diff --git a/skins/LucidChocolate/oper.bmp b/skins/LucidChocolate/oper.bmp new file mode 100644 index 0000000000000000000000000000000000000000..69b672f8d4c7481ef879cae5380b2445902bd0e0 GIT binary patch literal 3134 zcmd6nSx{3~9L8_o`q1ar3JFO-wh$r`LN>D8BqTQ>gshMNF##dLKom?wt*E%7BSHrd zsZ>Q=&`PJa)#_A>I>l3#8#}GKIom_IrG2go_yao|8sL; z3G)NUcagyy4n{N>AA<27Gy}{K^#1ebzMJP$Je~2@iK9?Chy;ROAB0S!|9@U@0iOO_ zmN+U6>|(IkEH0PL`BZbfI3Gg+!qO8AWQ^JfqQ+ zXUa7hbBwupX7j?LqT*%C7B5};8f?XjtX4}=k=bg^FD%M8&Ns?c>I4oKX#V#s;86G? zQFd;wG0&8#Hxw>jQnIeBbmL~*@)g-eQ-)4wwpa=lF3exBU@Bn6Y$-4r^?IXCXQ?z; zcVt=X^_ER0bN<4jf~?$JJ|Y6juZ%NIUq}=hPap*C&;il>g5AwupT2Vaa?e0pul=WM zo!_*yep0$NEnSLUV3ImN_M$w+12dL!v(c2bB#k^HlVV#q#A5SQx4GN z3WOxz(f=*ctFnOHbS67hqe<84@(L_xF1ED~Jh;(!?|SdhwcerYckCT^hp*lqTwh+P z)}&?V^*V#WPo`n6O09ym)v)cMq0&=S?yFv7K%r8lYPEjk ziWI)gLdfoytah&2dHd5Z?Ij1iYY(}%9Jpnvz0X|YBXjCJ=9?%3V9X><9fRn_H{l^1@!3KoYRkDkBMmL!!55D_9uN<T#=W=u zhwAFKZ>gwgyYYL!eR$8l{bgkvFI>Fx#NocxH;9OnSR5GU@|kQlg~1_acQcB|;Fa#2 zdT(*Xu?R-GAkDU_u~%N<<&?PM3SD!QdszuFY?wQJ7HR_XCFl%dOicCGy3uFu_KxnR z17CFB>UFp$#@rM49*!J2`rXNv)1yw$xt}kwIWUDrr-6pksB_{d(VA27R)@B7d}-C$ zxt2|vK0mQ|!`^w;D%MCY3F z><=C}T%IRm&M~J4NH)~c1(DxBMYZe+E7)DZLt?RBi>iz2c#HlvV zu}kASPfjdv7>5mqu%Set85tD?^nuHyqrYJDcmk;cf_R8%Du^VR$$^8gxPU-3A)2_d zboIFlzdRfndFFQC=;&x@+ygoihzi2sg0aCNQ^DYHDD=#5B73g2spinYiOb$YXB^9_ zuW}V7n2<;mDiDJWX2LMgpK9l?!S@)EsUS#@B$-5*BoRwf0DK`5j*kjJp-||cnAo^K z|1Uf~IBL*^k3OD>#$Z9%SAh)(m=S~vjU>`yDV*7HtWZ1|g+`+>sE8;6(DaK>+D#UT zVzF3}3PGaelov=-Byt5HS)ojl$?0r1(7@tCFjyRD1TaTouz~2HfI!qVputl#25iUT zg2BMyf`cOo1Uj1o)PSa6{Ds|L)}UDul?H+&GWm2Q`$9<-$`>eA(l=qsPe25qGo8ir q^^}z4)N}}vsnl;DrBbHJgdn9x`wpN{q|b$*)Oq>u0_vOs2>JsVq-5y; literal 0 HcmV?d00001 diff --git a/skins/LucidChocolate/oper_1.bmp b/skins/LucidChocolate/oper_1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..f4a589c3f3976a2d71327c6a7ff595eed853ef5a GIT binary patch literal 3134 zcmd5;+g2J`5IyrY5A!^0Cd!>45fL#U(nw1Keecs(nwvxvQA9A&B(q%lWWHeX6O-?p z-E@|#V}g^1Su=6%E{p1YPVG}w-B73OFJ$qz1DnRRiR)KfKat;H3HkZ+{l$mRrc~Mc z-%;Exb2265e-{D)-=SrPsT9l10}5rv!*2PX;L#pd!NERHpZG~FSPkqqnr^o@o=h$- zU(a59m;-OF=5O9C#}zm}8Fq3p8w`hnqVDchpHQ@1i@%6k_QmDpbUr^CjrxOu+w1jT z4UR{ni~0QO-Mj1e?_nPSL1-MGoemBUJN737I zy}`h=ZEBjTu1gw)g^vj0XVWPNlZ%TWhNF?~x*p#!BuZsUHPh5B%k6ei+@q5dmaC(E zU-xT?7DyLl`FK2b+HHkW-L|oxsvC-~!+Lw$HsW@>jm!@~9tiaKmPKvb<5L}gC~pVD z0EQ6YqeVFf{#wGFDa^STBhxQv*3ST zLM_X5S}Jr=9eV46_;shgr3Ea^t6|%Mgr4Y7gzXiLI&S-HGI3fid_)k(e?gRx8HxZ! z)kI11;<|xhIiF6!v>azPpSztdiUlSw2-Gk|)tlo-ZCawG*5E~1W@|OWGOd<_aT9@f}Du3949FXk|U0GTwPz^+}zyV-JPAEt2)KuaI4Al z^=4C)mG9Pq@!IFOU53G7P;ER2_xJaw=TlyiCg)T5hr^-QDa!%}66#I9&hy3H5_BOa zs)k-b(O;iF{rT}DMh}$&8MnAbW4BTPf4LUi34*DzC5G896eLxXR28j(9Pj*;!VZs) za8$&B?Uw~GD^(WAZ@=W~4LoSFMlnr)+}uoOv+K8SFR!jN9YahZklCwl7mFa5ze0(r z)D@i&JoZ79tJQp=u#wH}b9L;YXd2GuCx?aa1<{lmx3QT6v#?Vt6ie`nJ0)4uP`*yD zJ3Kyyqf$B=kMRz`A+T^OzrDGY-(i?wI^SnlwyBwfu=Pd|Rj!`d%q3H68`-QNiM%Xh z*DoMTf+%J-vI|ZQDu5T6jl}cRJ|<|vZ;IjruohZM<#IgvJiVSl3GjHZU!ux!ylxZ1 z31ScpQNmFp(HO9~wbc*=YzFJY^Lb%2w-t`Yko@^t+6Qz+0m}$cyq$w*w2r8PQti4!YSq+E6kyJX3pRbE z)o=uvV~HfJ5BLE1$cb6otLi^&*pOBXmlkM!QrYk{4~&m>3kmrkS&)GQKLb~ zx}h2--Y)qb+AT|L9A4AdT+Ij|W zIqVDs)A_!js;bi=MA6M4G|Q&8qdP62#tYeeKAub=2|54^T`QsR@6T42;n`|v75(-3 zi(;iSnKH{NhKUWaGZ0MY`zRK5dxYTo_}f^l^H={nc3C3C@xtmH5MsLR{}`6rehhq( b^j;Ct>h*sB^qhksA)WF3M?m}Zl90av<9kf} literal 0 HcmV?d00001 diff --git a/skins/LucidChocolate/skin.inc b/skins/LucidChocolate/skin.inc new file mode 100644 index 0000000000..81a6bd8f3f --- /dev/null +++ b/skins/LucidChocolate/skin.inc @@ -0,0 +1,239 @@ +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; ;; +;; Copyright (C) KolibriOS team 2004-2017. All rights reserved. ;; +;; Distributed under terms of the GNU General Public License ;; +;; ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;============================================================================ +; 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 equ _#_name + _file:: + file _fname + end virtual + load w dword from _file:_bmp.i.biWidth + load h dword from _file:_bmp.i.biHeight + load hsize dword from _file:_bmp.h.bfOffBits + align 4 + label _name + .width = w + .height = h + dd w,h + a=hsize+(w*3+(w mod 4))*(h-1) + size = $ + repeat h + repeat w + load r from _file:a+0 + load g from _file:a+1 + load b from _file:a+2 + 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 + __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 + dd @f - $ - 4 + 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/skinlist.lua b/skins/skinlist.lua index f35532bcdf..c61baa0614 100644 --- a/skins/skinlist.lua +++ b/skins/skinlist.lua @@ -11,6 +11,7 @@ skinlist = { "Leency/Workbench/Workbench.skn", "Leency/Yeah/Yeah.skn", "loggy/loggy.skn", +"LucidChocolate/LucidChocolate.skn", "night/night.skn", "Win10/Win10.skn", "_old/5imple Alpha/1.5imple Alpha/1.5imple Alpha.skn",