bitmapdata.pp 8.0 KB

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