microbitconstimage.c 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555
  1. /*
  2. * This file is part of the Micro Python project, http://micropython.org/
  3. *
  4. * The MIT License (MIT)
  5. *
  6. * Copyright (c) 2015 Damien P. George
  7. *
  8. * Permission is hereby granted, free of charge, to any person obtaining a copy
  9. * of this software and associated documentation files (the "Software"), to deal
  10. * in the Software without restriction, including without limitation the rights
  11. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  12. * copies of the Software, and to permit persons to whom the Software is
  13. * furnished to do so, subject to the following conditions:
  14. *
  15. * The above copyright notice and this permission notice shall be included in
  16. * all copies or substantial portions of the Software.
  17. *
  18. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  19. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  20. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  21. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  22. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  23. * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  24. * THE SOFTWARE.
  25. */
  26. #include "py/runtime.h"
  27. #include "microbitimage.h"
  28. #define IMAGE_T const monochrome_5by5_t
  29. IMAGE_T microbit_const_image_heart_obj = SMALL_IMAGE(
  30. 0,1,0,1,0,
  31. 1,1,1,1,1,
  32. 1,1,1,1,1,
  33. 0,1,1,1,0,
  34. 0,0,1,0,0
  35. );
  36. IMAGE_T microbit_const_image_heart_small_obj = SMALL_IMAGE(
  37. 0,0,0,0,0,
  38. 0,1,0,1,0,
  39. 0,1,1,1,0,
  40. 0,0,1,0,0,
  41. 0,0,0,0,0
  42. );
  43. // smilies
  44. IMAGE_T microbit_const_image_happy_obj = SMALL_IMAGE(
  45. 0,0,0,0,0,
  46. 0,1,0,1,0,
  47. 0,0,0,0,0,
  48. 1,0,0,0,1,
  49. 0,1,1,1,0
  50. );
  51. IMAGE_T microbit_const_image_smile_obj = SMALL_IMAGE(
  52. 0,0,0,0,0,
  53. 0,0,0,0,0,
  54. 0,0,0,0,0,
  55. 1,0,0,0,1,
  56. 0,1,1,1,0
  57. );
  58. IMAGE_T microbit_const_image_sad_obj = SMALL_IMAGE(
  59. 0,0,0,0,0,
  60. 0,1,0,1,0,
  61. 0,0,0,0,0,
  62. 0,1,1,1,0,
  63. 1,0,0,0,1
  64. );
  65. IMAGE_T microbit_const_image_confused_obj = SMALL_IMAGE(
  66. 0,0,0,0,0,
  67. 0,1,0,1,0,
  68. 0,0,0,0,0,
  69. 0,1,0,1,0,
  70. 1,0,1,0,1
  71. );
  72. IMAGE_T microbit_const_image_angry_obj = SMALL_IMAGE(
  73. 1,0,0,0,1,
  74. 0,1,0,1,0,
  75. 0,0,0,0,0,
  76. 1,1,1,1,1,
  77. 1,0,1,0,1
  78. );
  79. IMAGE_T microbit_const_image_asleep_obj = SMALL_IMAGE(
  80. 0,0,0,0,0,
  81. 1,1,0,1,1,
  82. 0,0,0,0,0,
  83. 0,1,1,1,0,
  84. 0,0,0,0,0
  85. );
  86. IMAGE_T microbit_const_image_surprised_obj = SMALL_IMAGE(
  87. 0,1,0,1,0,
  88. 0,0,0,0,0,
  89. 0,0,1,0,0,
  90. 0,1,0,1,0,
  91. 0,0,1,0,0
  92. );
  93. IMAGE_T microbit_const_image_silly_obj = SMALL_IMAGE(
  94. 1,0,0,0,1,
  95. 0,0,0,0,0,
  96. 1,1,1,1,1,
  97. 0,0,1,0,1,
  98. 0,0,1,1,1
  99. );
  100. IMAGE_T microbit_const_image_fabulous_obj = SMALL_IMAGE(
  101. 1,1,1,1,1,
  102. 1,1,0,1,1,
  103. 0,0,0,0,0,
  104. 0,1,0,1,0,
  105. 0,1,1,1,0
  106. );
  107. IMAGE_T microbit_const_image_meh_obj = SMALL_IMAGE(
  108. 0,1,0,1,0,
  109. 0,0,0,0,0,
  110. 0,0,0,1,0,
  111. 0,0,1,0,0,
  112. 0,1,0,0,0
  113. );
  114. // yes/no
  115. IMAGE_T microbit_const_image_yes_obj = SMALL_IMAGE(
  116. 0,0,0,0,0,
  117. 0,0,0,0,1,
  118. 0,0,0,1,0,
  119. 1,0,1,0,0,
  120. 0,1,0,0,0
  121. );
  122. IMAGE_T microbit_const_image_no_obj = SMALL_IMAGE(
  123. 1,0,0,0,1,
  124. 0,1,0,1,0,
  125. 0,0,1,0,0,
  126. 0,1,0,1,0,
  127. 1,0,0,0,1
  128. );
  129. // clock hands
  130. IMAGE_T microbit_const_image_clock12_obj = SMALL_IMAGE(
  131. 0,0,1,0,0,
  132. 0,0,1,0,0,
  133. 0,0,1,0,0,
  134. 0,0,0,0,0,
  135. 0,0,0,0,0
  136. );
  137. IMAGE_T microbit_const_image_clock1_obj = SMALL_IMAGE(
  138. 0,0,0,1,0,
  139. 0,0,0,1,0,
  140. 0,0,1,0,0,
  141. 0,0,0,0,0,
  142. 0,0,0,0,0
  143. );
  144. IMAGE_T microbit_const_image_clock2_obj = SMALL_IMAGE(
  145. 0,0,0,0,0,
  146. 0,0,0,1,1,
  147. 0,0,1,0,0,
  148. 0,0,0,0,0,
  149. 0,0,0,0,0
  150. );
  151. IMAGE_T microbit_const_image_clock3_obj = SMALL_IMAGE(
  152. 0,0,0,0,0,
  153. 0,0,0,0,0,
  154. 0,0,1,1,1,
  155. 0,0,0,0,0,
  156. 0,0,0,0,0
  157. );
  158. IMAGE_T microbit_const_image_clock4_obj = SMALL_IMAGE(
  159. 0,0,0,0,0,
  160. 0,0,0,0,0,
  161. 0,0,1,0,0,
  162. 0,0,0,1,1,
  163. 0,0,0,0,0
  164. );
  165. IMAGE_T microbit_const_image_clock5_obj = SMALL_IMAGE(
  166. 0,0,0,0,0,
  167. 0,0,0,0,0,
  168. 0,0,1,0,0,
  169. 0,0,0,1,0,
  170. 0,0,0,1,0
  171. );
  172. IMAGE_T microbit_const_image_clock6_obj = SMALL_IMAGE(
  173. 0,0,0,0,0,
  174. 0,0,0,0,0,
  175. 0,0,1,0,0,
  176. 0,0,1,0,0,
  177. 0,0,1,0,0
  178. );
  179. IMAGE_T microbit_const_image_clock7_obj = SMALL_IMAGE(
  180. 0,0,0,0,0,
  181. 0,0,0,0,0,
  182. 0,0,1,0,0,
  183. 0,1,0,0,0,
  184. 0,1,0,0,0
  185. );
  186. IMAGE_T microbit_const_image_clock8_obj = SMALL_IMAGE(
  187. 0,0,0,0,0,
  188. 0,0,0,0,0,
  189. 0,0,1,0,0,
  190. 1,1,0,0,0,
  191. 0,0,0,0,0
  192. );
  193. IMAGE_T microbit_const_image_clock9_obj = SMALL_IMAGE(
  194. 0,0,0,0,0,
  195. 0,0,0,0,0,
  196. 1,1,1,0,0,
  197. 0,0,0,0,0,
  198. 0,0,0,0,0
  199. );
  200. IMAGE_T microbit_const_image_clock10_obj = SMALL_IMAGE(
  201. 0,0,0,0,0,
  202. 1,1,0,0,0,
  203. 0,0,1,0,0,
  204. 0,0,0,0,0,
  205. 0,0,0,0,0
  206. );
  207. IMAGE_T microbit_const_image_clock11_obj = SMALL_IMAGE(
  208. 0,1,0,0,0,
  209. 0,1,0,0,0,
  210. 0,0,1,0,0,
  211. 0,0,0,0,0,
  212. 0,0,0,0,0
  213. );
  214. // arrows
  215. IMAGE_T microbit_const_image_arrow_n_obj = SMALL_IMAGE(
  216. 0,0,1,0,0,
  217. 0,1,1,1,0,
  218. 1,0,1,0,1,
  219. 0,0,1,0,0,
  220. 0,0,1,0,0
  221. );
  222. IMAGE_T microbit_const_image_arrow_ne_obj = SMALL_IMAGE(
  223. 0,0,1,1,1,
  224. 0,0,0,1,1,
  225. 0,0,1,0,1,
  226. 0,1,0,0,0,
  227. 1,0,0,0,0
  228. );
  229. IMAGE_T microbit_const_image_arrow_e_obj = SMALL_IMAGE(
  230. 0,0,1,0,0,
  231. 0,0,0,1,0,
  232. 1,1,1,1,1,
  233. 0,0,0,1,0,
  234. 0,0,1,0,0
  235. );
  236. IMAGE_T microbit_const_image_arrow_se_obj = SMALL_IMAGE(
  237. 1,0,0,0,0,
  238. 0,1,0,0,0,
  239. 0,0,1,0,1,
  240. 0,0,0,1,1,
  241. 0,0,1,1,1
  242. );
  243. IMAGE_T microbit_const_image_arrow_s_obj = SMALL_IMAGE(
  244. 0,0,1,0,0,
  245. 0,0,1,0,0,
  246. 1,0,1,0,1,
  247. 0,1,1,1,0,
  248. 0,0,1,0,0
  249. );
  250. IMAGE_T microbit_const_image_arrow_sw_obj = SMALL_IMAGE(
  251. 0,0,0,0,1,
  252. 0,0,0,1,0,
  253. 1,0,1,0,0,
  254. 1,1,0,0,0,
  255. 1,1,1,0,0
  256. );
  257. IMAGE_T microbit_const_image_arrow_w_obj = SMALL_IMAGE(
  258. 0,0,1,0,0,
  259. 0,1,0,0,0,
  260. 1,1,1,1,1,
  261. 0,1,0,0,0,
  262. 0,0,1,0,0
  263. );
  264. IMAGE_T microbit_const_image_arrow_nw_obj = SMALL_IMAGE(
  265. 1,1,1,0,0,
  266. 1,1,0,0,0,
  267. 1,0,1,0,0,
  268. 0,0,0,1,0,
  269. 0,0,0,0,1
  270. );
  271. // geometry
  272. IMAGE_T microbit_const_image_triangle_obj = SMALL_IMAGE(
  273. 0,0,0,0,0,
  274. 0,0,1,0,0,
  275. 0,1,0,1,0,
  276. 1,1,1,1,1,
  277. 0,0,0,0,0
  278. );
  279. IMAGE_T microbit_const_image_triangle_left_obj = SMALL_IMAGE(
  280. 1,0,0,0,0,
  281. 1,1,0,0,0,
  282. 1,0,1,0,0,
  283. 1,0,0,1,0,
  284. 1,1,1,1,1
  285. );
  286. IMAGE_T microbit_const_image_chessboard_obj = SMALL_IMAGE(
  287. 0,1,0,1,0,
  288. 1,0,1,0,1,
  289. 0,1,0,1,0,
  290. 1,0,1,0,1,
  291. 0,1,0,1,0
  292. );
  293. IMAGE_T microbit_const_image_diamond_obj = SMALL_IMAGE(
  294. 0,0,1,0,0,
  295. 0,1,0,1,0,
  296. 1,0,0,0,1,
  297. 0,1,0,1,0,
  298. 0,0,1,0,0
  299. );
  300. IMAGE_T microbit_const_image_diamond_small_obj = SMALL_IMAGE(
  301. 0,0,0,0,0,
  302. 0,0,1,0,0,
  303. 0,1,0,1,0,
  304. 0,0,1,0,0,
  305. 0,0,0,0,0
  306. );
  307. IMAGE_T microbit_const_image_square_obj = SMALL_IMAGE(
  308. 1,1,1,1,1,
  309. 1,0,0,0,1,
  310. 1,0,0,0,1,
  311. 1,0,0,0,1,
  312. 1,1,1,1,1
  313. );
  314. IMAGE_T microbit_const_image_square_small_obj = SMALL_IMAGE(
  315. 0,0,0,0,0,
  316. 0,1,1,1,0,
  317. 0,1,0,1,0,
  318. 0,1,1,1,0,
  319. 0,0,0,0,0
  320. );
  321. // animals
  322. IMAGE_T microbit_const_image_rabbit = SMALL_IMAGE(
  323. 1,0,1,0,0,
  324. 1,0,1,0,0,
  325. 1,1,1,1,0,
  326. 1,1,0,1,0,
  327. 1,1,1,1,0
  328. );
  329. IMAGE_T microbit_const_image_cow = SMALL_IMAGE(
  330. 1,0,0,0,1,
  331. 1,0,0,0,1,
  332. 1,1,1,1,1,
  333. 0,1,1,1,0,
  334. 0,0,1,0,0
  335. );
  336. // musical notes
  337. IMAGE_T microbit_const_image_music_crotchet_obj = SMALL_IMAGE(
  338. 0,0,1,0,0,
  339. 0,0,1,0,0,
  340. 0,0,1,0,0,
  341. 1,1,1,0,0,
  342. 1,1,1,0,0
  343. );
  344. IMAGE_T microbit_const_image_music_quaver_obj = SMALL_IMAGE(
  345. 0,0,1,0,0,
  346. 0,0,1,1,0,
  347. 0,0,1,0,1,
  348. 1,1,1,0,0,
  349. 1,1,1,0,0
  350. );
  351. IMAGE_T microbit_const_image_music_quavers_obj = SMALL_IMAGE(
  352. 0,1,1,1,1,
  353. 0,1,0,0,1,
  354. 0,1,0,0,1,
  355. 1,1,0,1,1,
  356. 1,1,0,1,1
  357. );
  358. // other icons
  359. IMAGE_T microbit_const_image_pitchfork_obj = SMALL_IMAGE(
  360. 1,0,1,0,1,
  361. 1,0,1,0,1,
  362. 1,1,1,1,1,
  363. 0,0,1,0,0,
  364. 0,0,1,0,0
  365. );
  366. IMAGE_T microbit_const_image_xmas_obj = SMALL_IMAGE(
  367. 0,0,1,0,0,
  368. 0,1,1,1,0,
  369. 0,0,1,0,0,
  370. 0,1,1,1,0,
  371. 1,1,1,1,1
  372. );
  373. IMAGE_T microbit_const_image_pacman_obj = SMALL_IMAGE(
  374. 0,1,1,1,1,
  375. 1,1,0,1,0,
  376. 1,1,1,0,0,
  377. 1,1,1,1,0,
  378. 0,1,1,1,1
  379. );
  380. IMAGE_T microbit_const_image_target_obj = SMALL_IMAGE(
  381. 0,0,1,0,0,
  382. 0,1,1,1,0,
  383. 1,1,0,1,1,
  384. 0,1,1,1,0,
  385. 0,0,1,0,0
  386. );
  387. /*
  388. The following images were designed by Abbie Brooks.
  389. */
  390. IMAGE_T microbit_const_image_tshirt_obj = SMALL_IMAGE(
  391. 1,1,0,1,1,
  392. 1,1,1,1,1,
  393. 0,1,1,1,0,
  394. 0,1,1,1,0,
  395. 0,1,1,1,0
  396. );
  397. IMAGE_T microbit_const_image_rollerskate_obj = SMALL_IMAGE(
  398. 0,0,0,1,1,
  399. 0,0,0,1,1,
  400. 1,1,1,1,1,
  401. 1,1,1,1,1,
  402. 0,1,0,1,0
  403. );
  404. IMAGE_T microbit_const_image_duck_obj = SMALL_IMAGE(
  405. 0,1,1,0,0,
  406. 1,1,1,0,0,
  407. 0,1,1,1,1,
  408. 0,1,1,1,0,
  409. 0,0,0,0,0
  410. );
  411. IMAGE_T microbit_const_image_house_obj = SMALL_IMAGE(
  412. 0,0,1,0,0,
  413. 0,1,1,1,0,
  414. 1,1,1,1,1,
  415. 0,1,1,1,0,
  416. 0,1,0,1,0
  417. );
  418. IMAGE_T microbit_const_image_tortoise_obj = SMALL_IMAGE(
  419. 0,0,0,0,0,
  420. 0,1,1,1,0,
  421. 1,1,1,1,1,
  422. 0,1,0,1,0,
  423. 0,0,0,0,0
  424. );
  425. IMAGE_T microbit_const_image_butterfly_obj = SMALL_IMAGE(
  426. 1,1,0,1,1,
  427. 1,1,1,1,1,
  428. 0,0,1,0,0,
  429. 1,1,1,1,1,
  430. 1,1,0,1,1
  431. );
  432. IMAGE_T microbit_const_image_stickfigure_obj = SMALL_IMAGE(
  433. 0,0,1,0,0,
  434. 1,1,1,1,1,
  435. 0,0,1,0,0,
  436. 0,1,0,1,0,
  437. 1,0,0,0,1
  438. );
  439. IMAGE_T microbit_const_image_ghost_obj = SMALL_IMAGE(
  440. 1,1,1,1,1,
  441. 1,0,1,0,1,
  442. 1,1,1,1,1,
  443. 1,1,1,1,1,
  444. 1,0,1,0,1
  445. );
  446. IMAGE_T microbit_const_image_sword_obj = SMALL_IMAGE(
  447. 0,0,1,0,0,
  448. 0,0,1,0,0,
  449. 0,0,1,0,0,
  450. 0,1,1,1,0,
  451. 0,0,1,0,0
  452. );
  453. IMAGE_T microbit_const_image_giraffe_obj = SMALL_IMAGE(
  454. 1,1,0,0,0,
  455. 0,1,0,0,0,
  456. 0,1,0,0,0,
  457. 0,1,1,1,0,
  458. 0,1,0,1,0
  459. );
  460. IMAGE_T microbit_const_image_skull_obj = SMALL_IMAGE(
  461. 0,1,1,1,0,
  462. 1,0,1,0,1,
  463. 1,1,1,1,1,
  464. 0,1,1,1,0,
  465. 0,1,1,1,0
  466. );
  467. IMAGE_T microbit_const_image_umbrella_obj = SMALL_IMAGE(
  468. 0,1,1,1,0,
  469. 1,1,1,1,1,
  470. 0,0,1,0,0,
  471. 1,0,1,0,0,
  472. 0,1,1,0,0
  473. );
  474. IMAGE_T microbit_const_image_snake_obj = SMALL_IMAGE(
  475. 1,1,0,0,0,
  476. 1,1,0,1,1,
  477. 0,1,0,1,0,
  478. 0,1,1,1,0,
  479. 0,0,0,0,0
  480. );