invader.rcss 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734
  1. @spritesheet theme
  2. {
  3. src: invader.tga;
  4. /* For high dpi screens, designates the scaling it is intended to be shown at. */
  5. resolution: 1x;
  6. /**
  7. The following specifies a list of sprite names and associated rectangles into the image given above.
  8. Any sprite given here can be specified in a decorator. Their names must be globally unique.
  9. Rectangles are specified as: x y width height. With the origin assumed to be at the top left corner.
  10. */
  11. title-bar-l: 147px 0px 82px 85px;
  12. title-bar-c: 229px 0px 1px 85px;
  13. title-bar-r: 231px 0px 15px 85px;
  14. /* huditems are vertically flipped titlebars */
  15. huditem-l: 147px 55px 82px -55px;
  16. huditem-c: 229px 55px 1px -55px;
  17. huditem-r: 231px 55px 15px -55px;
  18. icon-help: 128px 152px 51px 39px;
  19. icon-invader: 179px 152px 51px 39px;
  20. icon-game: 230px 152px 51px 39px;
  21. icon-hiscore: 281px 152px 51px 39px;
  22. icon-waves: 332px 152px 51px 39px;
  23. icon-flag: 336px 191px 51px 39px;
  24. icon-lives: 383px 152px 51px 39px;
  25. icon-score: 434px 152px 51px 39px;
  26. window-tl: 0px 0px 133px 140px;
  27. window-t: 134px 0px 1px 140px;
  28. window-tr: 136px 0px 10px 140px;
  29. window-l: 0px 139px 10px 1px;
  30. window-c: 11px 139px 1px 1px;
  31. window-r: 10px 139px -10px 1px; /* mirrored left */
  32. window-bl: 0px 140px 11px 11px;
  33. window-b: 11px 140px 1px 11px;
  34. window-br: 136px 140px 10px 11px;
  35. button: 247px 0px 159px 45px;
  36. button-hover: 247px 45px 159px 45px;
  37. button-active: 247px 90px 159px 45px;
  38. button-inner: 259px 19px 135px 1px;
  39. button-inner-hover: 259px 64px 135px 1px;
  40. button-inner-active: 259px 109px 135px 1px;
  41. text-l: 162px 192px 14px 31px;
  42. text-c: 176px 192px 1px 31px;
  43. textarea: 162px 193px 145px 31px;
  44. textarea-inner: 173px 206px 127px 10px;
  45. selectbox-tl: 281px 275px 11px 9px;
  46. selectbox-t: 292px 275px 1px 9px;
  47. selectbox-tr: 294px 275px 11px 9px;
  48. selectbox-l: 281px 283px 11px 1px;
  49. selectbox-c: 292px 283px 1px 1px;
  50. selectbox-bl: 281px 285px 11px 11px;
  51. selectbox-b: 292px 285px 1px 11px;
  52. selectbox-br: 294px 285px 11px 11px;
  53. selectvalue: 162px 192px 145px 37px;
  54. selectvalue-hover: 162px 230px 145px 37px;
  55. selectarrow: 307px 192px 30px 37px;
  56. selectarrow-hover: 307px 230px 30px 37px;
  57. selectarrow-active: 307px 268px 30px 37px;
  58. radio: 407px 0px 30px 30px;
  59. radio-hover: 437px 0px 30px 30px;
  60. radio-active: 467px 0px 30px 30px;
  61. radio-checked: 407px 30px 30px 30px;
  62. radio-checked-hover: 437px 30px 30px 30px;
  63. radio-checked-active: 467px 30px 30px 30px;
  64. checkbox: 407px 60px 30px 30px;
  65. checkbox-hover: 437px 60px 30px 30px;
  66. checkbox-active: 467px 60px 30px 30px;
  67. checkbox-checked: 407px 90px 30px 30px;
  68. checkbox-checked-hover: 437px 90px 30px 30px;
  69. checkbox-checked-active: 467px 90px 30px 30px;
  70. datagridheader-l: 127px 192px 16px 31px;
  71. datagridheader-c: 143px 192px 2px 31px;
  72. datagridheader-r: 145px 192px 15px 31px;
  73. datagridexpand: 3px 232px 17px 17px;
  74. datagridexpand-hover: 21px 232px 17px 17px;
  75. datagridexpand-active: 39px 232px 17px 17px;
  76. datagridexpand-collapsed: 3px 250px 17px 17px;
  77. datagridexpand-collapsed-hover: 21px 250px 17px 17px;
  78. datagridexpand-collapsed-active: 39px 250px 17px 17px;
  79. slidertrack-t: 70px 199px 27px 2px;
  80. slidertrack-c: 70px 201px 27px 1px;
  81. slidertrack-b: 70px 202px 27px 2px;
  82. sliderbar-t: 56px 152px 23px 23px;
  83. sliderbar-c: 56px 175px 23px 1px;
  84. sliderbar-b: 56px 176px 23px 22px;
  85. sliderbar-hover-t: 80px 152px 23px 23px;
  86. sliderbar-hover-c: 80px 175px 23px 1px;
  87. sliderbar-hover-b: 80px 176px 23px 22px;
  88. sliderbar-active-t: 104px 152px 23px 23px;
  89. sliderbar-active-c: 104px 175px 23px 1px;
  90. sliderbar-active-b: 104px 176px 23px 22px;
  91. sliderarrowdec: 0px 152px 27px 24px;
  92. sliderarrowdec-hover: 0px 177px 27px 24px;
  93. sliderarrowdec-active: 0px 202px 27px 24px;
  94. sliderarrowinc: 28px 152px 27px 24px;
  95. sliderarrowinc-hover: 28px 177px 27px 24px;
  96. sliderarrowinc-active: 28px 202px 27px 24px;
  97. range-track: 219px 194px 3px 32px;
  98. range-track-inner: 220px 204px 1px 14px;
  99. range-bar: 127px 191px 34px 32px;
  100. range-dec: 3px 232px 17px 17px;
  101. range-dec-hover: 21px 232px 17px 17px;
  102. range-dec-active: 39px 232px 17px 17px;
  103. range-inc: 3px 250px 17px 17px;
  104. range-inc-hover: 21px 250px 17px 17px;
  105. range-inc-active: 39px 250px 17px 17px;
  106. progress-l: 103px 267px 13px 34px;
  107. progress-c: 116px 267px 54px 34px;
  108. progress-r: 170px 267px 13px 34px;
  109. progress-fill-l: 110px 302px 6px 34px;
  110. progress-fill-c: 140px 302px 6px 34px;
  111. progress-fill-r: 170px 302px 6px 34px;
  112. gauge: 0px 271px 100px 86px;
  113. gauge-fill: 0px 356px 100px 86px;
  114. }
  115. body
  116. {
  117. font-family: LatoLatin;
  118. font-weight: normal;
  119. font-style: normal;
  120. font-size: 15dp;
  121. color: white;
  122. }
  123. body.window
  124. {
  125. padding-top: 43dp;
  126. padding-bottom: 20dp;
  127. min-width: 250dp;
  128. max-width: 800dp;
  129. min-height: 135dp;
  130. max-height: 700dp;
  131. }
  132. div#title_bar
  133. {
  134. z-index: 1;
  135. position: absolute;
  136. top: 3dp;
  137. left: 0;
  138. text-align: left;
  139. }
  140. div#title_bar div#icon
  141. {
  142. position: absolute;
  143. left: 20dp;
  144. top: -4dp;
  145. width: 51dp;
  146. height: 39dp;
  147. }
  148. div#title_bar span
  149. {
  150. padding-left: 85dp;
  151. padding-right: 25dp;
  152. padding-top: 23dp;
  153. padding-bottom: 51dp;
  154. font-size: 20dp;
  155. font-weight: bold;
  156. font-effect: glow(1dp black);
  157. decorator: tiled-horizontal( title-bar-l, title-bar-c, title-bar-r );
  158. }
  159. div#window
  160. {
  161. width: auto;
  162. padding: 10dp 15dp;
  163. decorator: tiled-box(
  164. window-tl, window-t, window-tr,
  165. window-l, window-c, window-r,
  166. window-bl, window-b, window-br
  167. );
  168. }
  169. div#content
  170. {
  171. z-index: 2;
  172. width: auto;
  173. height: 100%;
  174. overflow: hidden auto;
  175. text-align: center;
  176. }
  177. p
  178. {
  179. text-align: left;
  180. margin-bottom: 1em;
  181. }
  182. h1
  183. {
  184. margin-left: 0.4em;
  185. margin-bottom: 0.4em;
  186. text-align: left;
  187. font-size: 16dp;
  188. font-weight: bold;
  189. font-effect: glow(1dp 1dp 1dp 1dp #1117);
  190. }
  191. input,
  192. select,
  193. dataselect
  194. {
  195. margin-left: 20dp;
  196. }
  197. input.submit
  198. {
  199. margin-left: 0;
  200. }
  201. button,
  202. input.submit
  203. {
  204. display: inline-block;
  205. width: 159dp;
  206. height: 33dp;
  207. padding-top: 12dp;
  208. vertical-align: -18dp;
  209. font-size: 16dp;
  210. text-align: center;
  211. tab-index: auto;
  212. decorator: image(button);
  213. }
  214. button:focus,
  215. input.submit:focus
  216. {
  217. font-effect: blur(3dp #fff);
  218. }
  219. button:hover,
  220. input.submit:hover
  221. {
  222. decorator: image(button-hover);
  223. }
  224. button:active,
  225. input.submit:active
  226. {
  227. decorator: image(button-active);
  228. }
  229. input.submit:disabled
  230. {
  231. decorator: image(button);
  232. image-color: rgba(50, 150, 150, 120);
  233. cursor: unavailable;
  234. }
  235. input.text, input.password
  236. {
  237. box-sizing: border-box;
  238. height: 31dp;
  239. padding: 11dp 10dp 0;
  240. decorator: tiled-horizontal( text-l, text-c, auto ); /* Right becomes mirrored left */
  241. cursor: text;
  242. }
  243. textarea
  244. {
  245. padding: 14dp 12dp 10dp;
  246. decorator: ninepatch( textarea, textarea-inner, 1.0 );
  247. cursor: text;
  248. }
  249. input.text,
  250. input.password,
  251. select,
  252. dataselect,
  253. textarea
  254. {
  255. color: #333;
  256. font-size: 13dp;
  257. }
  258. datagrid input.text, table input.text
  259. {
  260. box-sizing: border-box;
  261. width: 100%;
  262. height: 18dp;
  263. margin: 0;
  264. padding: 0 5dp;
  265. line-height: 1.0;
  266. border-width: 1dp;
  267. border-color: black;
  268. background-color: white;
  269. font-size: 15dp;
  270. decorator: none;
  271. }
  272. select,
  273. dataselect
  274. {
  275. width: 175dp;
  276. height: 37dp;
  277. }
  278. select selectvalue,
  279. dataselect selectvalue
  280. {
  281. width: auto;
  282. margin-right: 30dp;
  283. height: 25dp;
  284. padding: 12dp 10dp 0dp 10dp;
  285. decorator: image( selectvalue );
  286. }
  287. select selectarrow,
  288. dataselect selectarrow
  289. {
  290. width: 30dp;
  291. height: 37dp;
  292. decorator: image( selectarrow );
  293. }
  294. select:hover selectarrow,
  295. dataselect:hover selectarrow
  296. {
  297. decorator: image( selectarrow-hover );
  298. }
  299. select:active selectarrow,
  300. select selectarrow:checked,
  301. dataselect:active selectarrow,
  302. dataselect selectarrow:checked
  303. {
  304. decorator: image( selectarrow-active );
  305. }
  306. select selectbox,
  307. dataselect selectbox
  308. {
  309. margin-left: 1dp;
  310. margin-top: -7dp;
  311. margin-bottom: -10dp;
  312. width: 162dp;
  313. padding: 1dp 4dp 4dp 4dp;
  314. }
  315. select selectbox,
  316. dataselect selectbox,
  317. datagrid datagridbody,
  318. tbody
  319. {
  320. decorator: tiled-box(
  321. selectbox-tl, selectbox-t, selectbox-tr,
  322. selectbox-l, selectbox-c, auto, /* auto mirrors left */
  323. selectbox-bl, selectbox-b, selectbox-br
  324. );
  325. }
  326. select selectbox option,
  327. dataselect selectbox option
  328. {
  329. width: auto;
  330. padding: 3dp 0 3dp 6dp;
  331. background: #DDDD;
  332. }
  333. select selectbox option:nth-child(even),
  334. dataselect selectbox option:nth-child(even),
  335. datagrid datagridrow:nth-child(even),
  336. tr:nth-child(even)
  337. {
  338. background: #FFFFFFA0;
  339. }
  340. select selectbox option:checked,
  341. dataselect selectbox option:checked
  342. {
  343. font-weight: bold;
  344. }
  345. select selectbox option:hover,
  346. dataselect selectbox option:hover
  347. {
  348. background: #FF5D5D;
  349. }
  350. input.radio,
  351. input.checkbox
  352. {
  353. width: 30dp;
  354. height: 30dp;
  355. vertical-align: -11dp;
  356. }
  357. input.radio
  358. {
  359. decorator: image(radio);
  360. }
  361. input.radio:hover
  362. {
  363. decorator: image(radio-hover);
  364. }
  365. input.radio:active
  366. {
  367. decorator: image(radio-active);
  368. }
  369. input.radio:checked
  370. {
  371. decorator: image(radio-checked);
  372. }
  373. input.radio:checked:hover
  374. {
  375. decorator: image(radio-checked-hover);
  376. }
  377. input.radio:checked:active
  378. {
  379. decorator: image(radio-checked-active);
  380. }
  381. input.checkbox
  382. {
  383. decorator: image(checkbox);
  384. }
  385. input.checkbox:hover
  386. {
  387. decorator: image(checkbox-hover);
  388. }
  389. input.checkbox:active
  390. {
  391. decorator: image(checkbox-active);
  392. }
  393. input.checkbox:checked
  394. {
  395. decorator: image(checkbox-checked);
  396. }
  397. input.checkbox:checked:hover
  398. {
  399. decorator: image(checkbox-checked-hover);
  400. }
  401. input.checkbox:checked:active
  402. {
  403. decorator: image(checkbox-checked-active);
  404. }
  405. input.range {
  406. width: 200dp;
  407. height: 32dp;
  408. vertical-align: -12dp;
  409. }
  410. input.range slidertrack {
  411. margin-top: 3dp;
  412. height: 22dp;
  413. image-color: #ecc;
  414. decorator: ninepatch( range-track, range-track-inner, 1.0 );
  415. }
  416. input.range sliderbar {
  417. margin-left: -8dp;
  418. margin-right: -7dp;
  419. margin-top: -3dp;
  420. width: 34dp;
  421. height: 23dp;
  422. decorator: image( range-bar );
  423. }
  424. input.range:hover sliderbar {
  425. image-color: #cc0;
  426. }
  427. input.range sliderbar:active {
  428. image-color: #c80;
  429. }
  430. input.range sliderarrowdec, input.range sliderarrowinc {
  431. width: 17dp;
  432. height: 17dp;
  433. margin-top: 6dp;
  434. }
  435. input.range sliderarrowdec { decorator: image( range-dec ); }
  436. input.range sliderarrowinc { decorator: image( range-inc ); }
  437. input.range sliderarrowdec:hover { decorator: image( range-dec-hover ); }
  438. input.range sliderarrowinc:hover { decorator: image( range-inc-hover ); }
  439. input.range sliderarrowdec:active { decorator: image( range-dec-active ); }
  440. input.range sliderarrowinc:active { decorator: image( range-inc-active ); }
  441. thead tr {
  442. height: 35dp;
  443. decorator: tiled-horizontal( datagridheader-l, datagridheader-c, datagridheader-r );
  444. }
  445. thead td {
  446. padding-top: 11dp;
  447. }
  448. tbody {
  449. /* Margin left/right only affects the background positioning for the decorator, not the cell placement */
  450. margin-left: 5dp;
  451. margin-right: 4dp;
  452. /* Padding top/bottom adds extra spacing between the header row and the body, and between the body and table bottom */
  453. padding-top: 4dp;
  454. padding-bottom: 4dp;
  455. }
  456. tbody tr {
  457. margin-left: 9dp;
  458. margin-right: 8dp;
  459. color: black;
  460. }
  461. datagrid datagridheader
  462. {
  463. width: auto;
  464. height: 25dp;
  465. padding: 5dp 10dp 0 10dp;
  466. decorator: tiled-horizontal( datagridheader-l, datagridheader-c, datagridheader-r );
  467. }
  468. datagrid datagridbody
  469. {
  470. color: black;
  471. margin-left: 4dp;
  472. margin-right: 3dp;
  473. padding: 0 4dp 4dp 4dp;
  474. }
  475. datagridexpand, expand
  476. {
  477. display: block;
  478. margin: 1dp 0 1dp 5dp;
  479. height: 17dp;
  480. width: 17dp;
  481. decorator: image( datagridexpand );
  482. }
  483. datagridexpand:hover, expand:hover
  484. {
  485. decorator: image( datagridexpand-hover );
  486. }
  487. datagridexpand:active, expand:active
  488. {
  489. decorator: image( datagridexpand-active );
  490. }
  491. datagridexpand.collapsed, expand.collapsed
  492. {
  493. decorator: image( datagridexpand-collapsed );
  494. }
  495. datagridexpand.collapsed:hover, expand.collapsed:hover
  496. {
  497. decorator: image( datagridexpand-collapsed-hover );
  498. }
  499. datagridexpand.collapsed:active, expand.collapsed:active
  500. {
  501. decorator: image( datagridexpand-collapsed-active );
  502. }
  503. scrollbarvertical
  504. {
  505. margin-top: -6dp;
  506. margin-bottom: -6dp;
  507. margin-right: -11dp;
  508. width: 27dp;
  509. }
  510. scrollbarvertical slidertrack
  511. {
  512. decorator: tiled-vertical( slidertrack-t, slidertrack-c, slidertrack-b );
  513. }
  514. scrollbarvertical slidertrack:active
  515. {
  516. image-color: #aaa;
  517. }
  518. scrollbarvertical sliderbar
  519. {
  520. margin-left: 4dp;
  521. width: 23dp;
  522. min-height: 46dp;
  523. decorator: tiled-vertical( sliderbar-t, sliderbar-c, sliderbar-b );
  524. }
  525. scrollbarvertical sliderbar:hover
  526. {
  527. decorator: tiled-vertical( sliderbar-hover-t, sliderbar-hover-c, sliderbar-hover-b );
  528. }
  529. scrollbarvertical sliderbar:active
  530. {
  531. decorator: tiled-vertical( sliderbar-active-t, sliderbar-active-c, sliderbar-active-b );
  532. }
  533. scrollbarvertical sliderarrowdec,
  534. scrollbarvertical sliderarrowinc
  535. {
  536. width: 27dp;
  537. height: 24dp;
  538. }
  539. scrollbarvertical sliderarrowdec
  540. {
  541. decorator: image( sliderarrowdec );
  542. }
  543. scrollbarvertical sliderarrowdec:hover
  544. {
  545. decorator: image( sliderarrowdec-hover );
  546. }
  547. scrollbarvertical sliderarrowdec:active
  548. {
  549. decorator: image( sliderarrowdec-active );
  550. }
  551. scrollbarvertical sliderarrowinc
  552. {
  553. decorator: image( sliderarrowinc );
  554. }
  555. scrollbarvertical sliderarrowinc:hover
  556. {
  557. decorator: image( sliderarrowinc-hover );
  558. }
  559. scrollbarvertical sliderarrowinc:active
  560. {
  561. decorator: image( sliderarrowinc-active );
  562. }
  563. scrollbarhorizontal
  564. {
  565. width: 0;
  566. height: 0;
  567. }
  568. textarea scrollbarvertical
  569. {
  570. cursor: arrow;
  571. margin: 10dp 0 4dp 0;
  572. width: 12dp;
  573. }
  574. textarea scrollbarvertical slidertrack
  575. {
  576. decorator: none;
  577. }
  578. textarea scrollbarvertical sliderbar
  579. {
  580. margin-left: 2dp;
  581. width: 10dp;
  582. min-height: 16dp;
  583. }
  584. textarea scrollbarvertical sliderarrowdec,
  585. textarea scrollbarvertical sliderarrowinc
  586. {
  587. width: 0;
  588. height: 0;
  589. }
  590. textarea scrollbarhorizontal
  591. {
  592. cursor: arrow;
  593. margin-left: 7dp;
  594. height: 12dp;
  595. }
  596. textarea scrollbarhorizontal sliderbar
  597. {
  598. background-color: #BC0000CC;
  599. height: 8dp;
  600. min-width: 10dp;
  601. }
  602. textarea scrollbarhorizontal sliderbar:hover
  603. {
  604. background-color: #B82500CC;
  605. }
  606. textarea scrollbarhorizontal sliderbar:active
  607. {
  608. background-color: #770000CC;
  609. }