bitmapdata.pp 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. {
  2. This file is part of the Free Pascal run time library.
  3. Copyright (c) 2003 by the Free Pascal development team
  4. Bitmaps for toolbar buttons.
  5. See the file COPYING.FPC, included in this distribution,
  6. for details about the copyright.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  10. **********************************************************************}
  11. {$mode objfpc}
  12. {$h+}
  13. Unit bitmapdata;
  14. Interface
  15. uses fpgtk,SysUtils;
  16. Const
  17. BitmapFileNames : Array[1..10] of AnsiString = (
  18. 'clear',
  19. 'pause',
  20. 'run',
  21. 'close',
  22. 'save',
  23. 'connect',
  24. 'disconnect',
  25. 'info',
  26. 'warning',
  27. 'error'
  28. );
  29. { Auto bitmap data }
  30. BitmapDataclear : Array[0..30-6] of AnsiString = ( // clear.xpm
  31. '16 16 8 1',
  32. ' c black',
  33. '. c #830000',
  34. 'X c red',
  35. 'o c #838100',
  36. 'O c #ff8100',
  37. '+ c #ffd200',
  38. '@ c yellow',
  39. '# c white',
  40. { pixels }
  41. '############## @',
  42. '############# @@',
  43. '### ######## @@@',
  44. '########### @@@O',
  45. '#### ##### @ @+o',
  46. '######### @ @ o ',
  47. '## # ## X @ o #',
  48. '# # ## XXX o ##',
  49. '# ### XXXX. ###',
  50. '#### # XXX. ####',
  51. '## # # X. #####',
  52. '# ## # ######',
  53. ' ### #########',
  54. ' ## ## ######',
  55. ' ### ####',
  56. '# # #######'
  57. );
  58. BitmapDatapause : Array[0..33-6] of AnsiString = ( // pause.xpm
  59. '16 16 11 1',
  60. ' c black',
  61. '. c #7b7d7b',
  62. 'X c #008100',
  63. 'o c #00ba00',
  64. 'O c green',
  65. '+ c #ee7dee',
  66. '@ c #bdbebd',
  67. '# c #eeb6ee',
  68. '$ c #ffbeff',
  69. '% c #fff6ff',
  70. '& c white',
  71. { pixels }
  72. '&&&&& &&&&&&',
  73. '&&& &&&@% &&&&',
  74. '&& &%. .%$ &&&',
  75. '& &% &O&O& %@ &&',
  76. '& % & & % &&',
  77. ' &.& &&O &.% &',
  78. ' & O &OOoO O @ &',
  79. ' & & OOOOX & . &',
  80. ' $ O OoOoX O . &',
  81. ' %.& OXX &.+ &',
  82. '& % & & # &&',
  83. '& @% &O&O& +. &&',
  84. '&& @%. .#. &&&',
  85. '&&& %@..+ &&&&',
  86. '&&&&& &&&&&&',
  87. '&&&&&&&&&&&&&&&&'
  88. );
  89. BitmapDatarun : Array[0..32-6] of AnsiString = ( // run.xpm
  90. '16 16 10 1',
  91. ' c black',
  92. '. c #7b7d7b',
  93. 'X c #008100',
  94. 'o c #00ba00',
  95. 'O c #ee7dee',
  96. '+ c #bdbebd',
  97. '@ c #eeb6ee',
  98. '# c #ffbeff',
  99. '$ c #fff6ff',
  100. '% c white',
  101. { pixels }
  102. '%%%%% %%%%%%',
  103. '%%% %%%+$ %%%%',
  104. '%% %$. .$# %%%',
  105. '% %$ $+ %%',
  106. '% $ $ %%',
  107. ' %. +$X .$ %',
  108. ' % +oXoX + %',
  109. ' % XXXXX . %',
  110. ' # XoXoX . %',
  111. ' $. XXX .O %',
  112. '% $ @ %%',
  113. '% +$ O. %%',
  114. '%% +$. .@. %%%',
  115. '%%% $+..O %%%%',
  116. '%%%%% %%%%%%',
  117. '%%%%%%%%%%%%%%%%'
  118. );
  119. BitmapDataclose : Array[0..29-6] of AnsiString = ( // close.xpm
  120. '16 16 7 1',
  121. ' c black',
  122. '. c #7b7d7b',
  123. 'X c #8b7d8b',
  124. 'o c #8b858b',
  125. 'O c #bdbebd',
  126. '+ c #cdc6cd',
  127. '@ c white',
  128. { pixels }
  129. '@@@@@ @@@@@@',
  130. '@@@@@ ... @@@@@@',
  131. '@@ @@@',
  132. '@@ @O+OX...X @@@',
  133. '@@ @@@',
  134. '@@@ . . . . @@@@',
  135. '@@@ @ + o o @@@@',
  136. '@@ @ O O . @@@',
  137. '@ @ @ + o o @ @@',
  138. '@@@ @ O O . @@@@',
  139. '@@@ @ + o o @@@@',
  140. '@@@ @ O O . @@@@',
  141. '@@@ @ + o o @@@@',
  142. '@@@ @ O O . @@@@',
  143. '@@@ @.o.o.o @@@@',
  144. '@@@ @@@@'
  145. );
  146. BitmapDatasave : Array[0..30-6] of AnsiString = ( // save.xpm
  147. '16 16 8 1',
  148. ' c black',
  149. '. c #7b7d7b',
  150. 'X c blue',
  151. 'o c red',
  152. 'O c #bdbebd',
  153. '+ c #ffbeff',
  154. '@ c #ffceff',
  155. '# c white',
  156. { pixels }
  157. ' ##########',
  158. ' #### #ooooo###',
  159. ' # +# # ##@ooo##',
  160. ' #### ## ##ooo##',
  161. ' # # #ooo##',
  162. ' ########ooooooo',
  163. ' # # # ooooo#',
  164. ' ######## #ooo##',
  165. ' # # O XXXoXX ',
  166. ' ####### ###### ',
  167. ' ####### ###### ',
  168. ' ',
  169. '######## ',
  170. '######## O#O# ',
  171. '######## # #O ',
  172. '######## . .. '
  173. );
  174. BitmapDataconnect : Array[0..28-6] of AnsiString = ( // connect.xpm
  175. '16 16 6 1',
  176. ' c black',
  177. '. c #7b7d7b',
  178. 'X c none',
  179. 'o c yellow',
  180. 'O c #bdbebd',
  181. '+ c white',
  182. { pixels }
  183. 'XXXXXXXoXXXXXXXX',
  184. 'XXXXXXXoXXXXXXXX',
  185. 'XXoXXoooooXXoXXX',
  186. 'XXXoooooooooXXXX',
  187. 'XXXooo oooXXXX',
  188. 'XXooo +o+ oooXXX',
  189. 'XXoo +o+o+ ooXXX',
  190. 'oooo o+.+o ooooX',
  191. 'XXoo +o.o+ ooXXX',
  192. 'XXooo +.+ oooXXX',
  193. 'XXXooo + oooXXXX',
  194. 'XXXooo o oooXXXX',
  195. 'XXoXXo oXXoXXX',
  196. 'XXXXXX O XXXXXXX',
  197. 'XXXXXX XXXXXXX',
  198. 'XXXXXXX XXXXXXXX'
  199. );
  200. BitmapDatadisconnect : Array[0..27-6] of AnsiString = ( // disconnect.xpm
  201. '16 16 5 1',
  202. ' c black',
  203. '. c #7b7d7b',
  204. 'X c none',
  205. 'o c #bdbebd',
  206. 'O c white',
  207. { pixels }
  208. 'XXXXXXXXXXXXXXXX',
  209. 'XXXXXXXXXXXXXXXX',
  210. 'XXXXXXXXXXXXXXXX',
  211. 'XXXXXXXXXXXXXXXX',
  212. 'XXXXXX XXXXXXX',
  213. 'XXXXX OOO XXXXXX',
  214. 'XXXX OOOOO XXXXX',
  215. 'XXXX OO.OO XXXXX',
  216. 'XXXX OO.OO XXXXX',
  217. 'XXXXX O.O XXXXXX',
  218. 'XXXXXX O XXXXXXX',
  219. 'XXXXXX O XXXXXXX',
  220. 'XXXXXX XXXXXXX',
  221. 'XXXXXX o XXXXXXX',
  222. 'XXXXXX XXXXXXX',
  223. 'XXXXXXX XXXXXXXX'
  224. );
  225. BitmapDatainfo : Array[0..31-6] of AnsiString = ( // info.xpm
  226. '16 16 9 1',
  227. ' c black',
  228. '. c #000083',
  229. 'X c #080083',
  230. 'o c #0800c5',
  231. 'O c blue',
  232. '+ c #0800ff',
  233. '@ c #cdc2ff',
  234. '# c #ffc2ff',
  235. '$ c white',
  236. { pixels }
  237. '$$$$$$$$$$$$$$$$',
  238. '$$$$$+.X.+.$$$$$',
  239. '$$$.+@$#$@$ $$$',
  240. '$$.$@$@OO$@$o $$',
  241. '$$+@$#$.O#$@$ +$',
  242. '$+@$@$@$@$@$@+ $',
  243. '$.$#$@+OO@$#$@ $',
  244. '$X@$@$@+O$@$@$ $',
  245. '$.+@$#$.O#$@$O $',
  246. '$$.$@$OOOO@$o .$',
  247. '$$$ +@$#$@$O .+$',
  248. '$$$$ o$@+ .X$$',
  249. '$$$$$$ $ +.$$$$',
  250. '$$$$$$$ @ .$$$$$',
  251. '$$$$$$$$ +$$$$$',
  252. '$$$$$$$$$$$$$$$$'
  253. );
  254. BitmapDatawarning : Array[0..30-6] of AnsiString = ( // warning.xpm
  255. '16 16 8 1',
  256. ' c black',
  257. '. c #080000',
  258. 'X c #000083',
  259. 'o c #0800ff',
  260. 'O c #cdc200',
  261. '+ c #ffc200',
  262. '@ c yellow',
  263. '# c white',
  264. { pixels }
  265. '################',
  266. '#######. ######',
  267. '######.+@ o#####',
  268. '#####.O@O@ #####',
  269. '##### @ @+ X####',
  270. '#### @ @O ####',
  271. '####.O O@ o###',
  272. '###.O@ @O@ ###',
  273. '##.O@+. .+@O X##',
  274. '## @O@O O@O@O ##',
  275. '# @+@O@+@O@+@ o#',
  276. '#.O@O@X X@O@O@ #',
  277. '# @O@+@O@+@O@+ #',
  278. '## X#',
  279. '###XoXoXoXoXoXo#',
  280. '################'
  281. );
  282. BitmapDataerror : Array[0..33-6] of AnsiString = ( // error.xpm
  283. '16 16 11 1',
  284. ' c black',
  285. '. c #000083',
  286. 'X c #080083',
  287. 'o c #0000c5',
  288. 'O c #0800c5',
  289. '+ c blue',
  290. '@ c #0800ff',
  291. '# c #c50000',
  292. '$ c red',
  293. '% c #cdc2ff',
  294. '& c white',
  295. { pixels }
  296. '&&&&&&&&&&&&&&&&',
  297. '&&&&&@ &&&&&&',
  298. '&&&. #$$$# .&&&&',
  299. '&&.$#$#$#$#$.&&&',
  300. '&& #@+$#$+@# .&&',
  301. '&@#$O&O$O&O$# &&',
  302. '& $$$o&+&o$$$ @&',
  303. '& #$#$O&%$#$# .&',
  304. '& $#$+&%&+$#$ @&',
  305. '& #$O&O$O&O$# .&',
  306. '&& $@o$$$o&$ .@&',
  307. '&&.$#$#$#$#$ X&&',
  308. '&&&. $$#$$ @+&&',
  309. '&&&&. .XO&&&',
  310. '&&&&&&@.@.@&&&&&',
  311. '&&&&&&&&&&&&&&&&'
  312. );
  313. Function PixmapFromFile (FN : String) :TFPGtkPixmap;
  314. Implementation
  315. Function PixmapFromFile (FN : String) :TFPGtkPixmap;
  316. Var
  317. I : integer;
  318. begin
  319. Result:=TFPGtkPixmap.CReate;
  320. If FileExists ('bitmaps'+directoryseparator+FN+'.xpm') then
  321. Result.LoadFromFile('bitmaps'+directoryseparator+FN+'.xpm')
  322. else
  323. begin
  324. I:=10;
  325. While (I>0) and (FN<>BitmapFileNames[i]) do
  326. Dec(i);
  327. With Result do
  328. Case I of
  329. 1 : LoadFromArray(BitmapDataclear);
  330. 2 : LoadFromArray(BitmapDatapause);
  331. 3 : LoadFromArray(BitmapDatarun);
  332. 4 : LoadFromArray(BitmapDataclose);
  333. 5 : LoadFromArray(BitmapDatasave);
  334. 6 : LoadFromArray(BitmapDataconnect);
  335. 7 : LoadFromArray(BitmapDatadisconnect);
  336. 8 : LoadFromArray(BitmapDatainfo);
  337. 9 : LoadFromArray(BitmapDatawarning);
  338. 10 : LoadFromArray(BitmapDataerror);
  339. end;
  340. end;
  341. end;
  342. end.