invader.rcss 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737
  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: 7dp;
  137. left: 0;
  138. text-align: left;
  139. vertical-align: bottom;
  140. }
  141. div#title_bar div#icon
  142. {
  143. position: absolute;
  144. left: 15dp;
  145. top: -4dp;
  146. width: 51dp;
  147. height: 39dp;
  148. }
  149. div#title_bar span
  150. {
  151. padding-left: 85dp;
  152. padding-right: 25dp;
  153. padding-top: 18dp;
  154. padding-bottom: 43dp;
  155. vertical-align: top;
  156. line-height: 24dp;
  157. font-size: 20dp;
  158. font-weight: bold;
  159. font-effect: glow(1dp black);
  160. decorator: tiled-horizontal( title-bar-l, title-bar-c, title-bar-r );
  161. }
  162. div#window
  163. {
  164. width: auto;
  165. padding: 10dp 15dp;
  166. decorator: tiled-box(
  167. window-tl, window-t, window-tr,
  168. window-l, window-c, window-r,
  169. window-bl, window-b, window-br
  170. );
  171. }
  172. div#content
  173. {
  174. z-index: 2;
  175. width: auto;
  176. height: 100%;
  177. overflow: hidden auto;
  178. text-align: center;
  179. }
  180. p
  181. {
  182. text-align: left;
  183. margin-bottom: 1em;
  184. }
  185. h1
  186. {
  187. margin-left: 0.4em;
  188. margin-bottom: 0.4em;
  189. text-align: left;
  190. font-size: 16dp;
  191. font-weight: bold;
  192. font-effect: glow(1dp 1dp 1dp 1dp #1117);
  193. }
  194. input,
  195. select,
  196. dataselect
  197. {
  198. margin-left: 20dp;
  199. }
  200. input.submit
  201. {
  202. margin-left: 0;
  203. }
  204. button,
  205. input.submit
  206. {
  207. display: inline-block;
  208. width: 159dp;
  209. height: 33dp;
  210. padding-top: 12dp;
  211. vertical-align: -18dp;
  212. font-size: 16dp;
  213. text-align: center;
  214. tab-index: auto;
  215. decorator: image(button);
  216. }
  217. button:focus,
  218. input.submit:focus
  219. {
  220. font-effect: blur(3dp #fff);
  221. }
  222. button:hover,
  223. input.submit:hover
  224. {
  225. decorator: image(button-hover);
  226. }
  227. button:active,
  228. input.submit:active
  229. {
  230. decorator: image(button-active);
  231. }
  232. input.submit:disabled
  233. {
  234. decorator: image(button);
  235. image-color: rgba(50, 150, 150, 120);
  236. cursor: unavailable;
  237. }
  238. input.text, input.password
  239. {
  240. box-sizing: border-box;
  241. height: 31dp;
  242. padding: 11dp 10dp 0;
  243. decorator: tiled-horizontal( text-l, text-c, auto ); /* Right becomes mirrored left */
  244. cursor: text;
  245. }
  246. textarea
  247. {
  248. padding: 14dp 12dp 10dp;
  249. decorator: ninepatch( textarea, textarea-inner, 1.0 );
  250. cursor: text;
  251. }
  252. input.text,
  253. input.password,
  254. select,
  255. dataselect,
  256. textarea
  257. {
  258. color: #333;
  259. font-size: 13dp;
  260. }
  261. datagrid input.text, table input.text
  262. {
  263. box-sizing: border-box;
  264. width: 100%;
  265. height: 18dp;
  266. margin: 0;
  267. padding: 0 5dp;
  268. line-height: 1.0;
  269. border-width: 1dp;
  270. border-color: black;
  271. background-color: white;
  272. font-size: 15dp;
  273. decorator: none;
  274. }
  275. select,
  276. dataselect
  277. {
  278. width: 175dp;
  279. height: 37dp;
  280. }
  281. select selectvalue,
  282. dataselect selectvalue
  283. {
  284. width: auto;
  285. margin-right: 30dp;
  286. height: 25dp;
  287. padding: 12dp 10dp 0dp 10dp;
  288. decorator: image( selectvalue );
  289. }
  290. select selectarrow,
  291. dataselect selectarrow
  292. {
  293. width: 30dp;
  294. height: 37dp;
  295. decorator: image( selectarrow );
  296. }
  297. select:hover selectarrow,
  298. dataselect:hover selectarrow
  299. {
  300. decorator: image( selectarrow-hover );
  301. }
  302. select:active selectarrow,
  303. select selectarrow:checked,
  304. dataselect:active selectarrow,
  305. dataselect selectarrow:checked
  306. {
  307. decorator: image( selectarrow-active );
  308. }
  309. select selectbox,
  310. dataselect selectbox
  311. {
  312. margin-left: 1dp;
  313. margin-top: -7dp;
  314. margin-bottom: -10dp;
  315. width: 162dp;
  316. padding: 1dp 4dp 4dp 4dp;
  317. }
  318. select selectbox,
  319. dataselect selectbox,
  320. datagrid datagridbody,
  321. tbody
  322. {
  323. decorator: tiled-box(
  324. selectbox-tl, selectbox-t, selectbox-tr,
  325. selectbox-l, selectbox-c, auto, /* auto mirrors left */
  326. selectbox-bl, selectbox-b, selectbox-br
  327. );
  328. }
  329. select selectbox option,
  330. dataselect selectbox option
  331. {
  332. width: auto;
  333. padding: 3dp 0 3dp 6dp;
  334. background: #DDDD;
  335. }
  336. select selectbox option:nth-child(even),
  337. dataselect selectbox option:nth-child(even),
  338. datagrid datagridrow:nth-child(even),
  339. tr:nth-child(even)
  340. {
  341. background: #FFFFFFA0;
  342. }
  343. select selectbox option:checked,
  344. dataselect selectbox option:checked
  345. {
  346. font-weight: bold;
  347. }
  348. select selectbox option:hover,
  349. dataselect selectbox option:hover
  350. {
  351. background: #FF5D5D;
  352. }
  353. input.radio,
  354. input.checkbox
  355. {
  356. width: 30dp;
  357. height: 30dp;
  358. vertical-align: -11dp;
  359. }
  360. input.radio
  361. {
  362. decorator: image(radio);
  363. }
  364. input.radio:hover
  365. {
  366. decorator: image(radio-hover);
  367. }
  368. input.radio:active
  369. {
  370. decorator: image(radio-active);
  371. }
  372. input.radio:checked
  373. {
  374. decorator: image(radio-checked);
  375. }
  376. input.radio:checked:hover
  377. {
  378. decorator: image(radio-checked-hover);
  379. }
  380. input.radio:checked:active
  381. {
  382. decorator: image(radio-checked-active);
  383. }
  384. input.checkbox
  385. {
  386. decorator: image(checkbox);
  387. }
  388. input.checkbox:hover
  389. {
  390. decorator: image(checkbox-hover);
  391. }
  392. input.checkbox:active
  393. {
  394. decorator: image(checkbox-active);
  395. }
  396. input.checkbox:checked
  397. {
  398. decorator: image(checkbox-checked);
  399. }
  400. input.checkbox:checked:hover
  401. {
  402. decorator: image(checkbox-checked-hover);
  403. }
  404. input.checkbox:checked:active
  405. {
  406. decorator: image(checkbox-checked-active);
  407. }
  408. input.range {
  409. width: 200dp;
  410. height: 32dp;
  411. vertical-align: -12dp;
  412. }
  413. input.range slidertrack {
  414. margin-top: 3dp;
  415. height: 22dp;
  416. image-color: #ecc;
  417. decorator: ninepatch( range-track, range-track-inner, 1.0 );
  418. }
  419. input.range sliderbar {
  420. margin-left: -8dp;
  421. margin-right: -7dp;
  422. margin-top: -3dp;
  423. width: 34dp;
  424. height: 23dp;
  425. decorator: image( range-bar );
  426. }
  427. input.range:hover sliderbar {
  428. image-color: #cc0;
  429. }
  430. input.range sliderbar:active {
  431. image-color: #c80;
  432. }
  433. input.range sliderarrowdec, input.range sliderarrowinc {
  434. width: 17dp;
  435. height: 17dp;
  436. margin-top: 6dp;
  437. }
  438. input.range sliderarrowdec { decorator: image( range-dec ); }
  439. input.range sliderarrowinc { decorator: image( range-inc ); }
  440. input.range sliderarrowdec:hover { decorator: image( range-dec-hover ); }
  441. input.range sliderarrowinc:hover { decorator: image( range-inc-hover ); }
  442. input.range sliderarrowdec:active { decorator: image( range-dec-active ); }
  443. input.range sliderarrowinc:active { decorator: image( range-inc-active ); }
  444. thead tr {
  445. height: 35dp;
  446. decorator: tiled-horizontal( datagridheader-l, datagridheader-c, datagridheader-r );
  447. }
  448. thead td {
  449. padding-top: 11dp;
  450. }
  451. tbody {
  452. /* Margin left/right only affects the background positioning for the decorator, not the cell placement */
  453. margin-left: 5dp;
  454. margin-right: 4dp;
  455. /* Padding top/bottom adds extra spacing between the header row and the body, and between the body and table bottom */
  456. padding-top: 4dp;
  457. padding-bottom: 4dp;
  458. }
  459. tbody tr {
  460. margin-left: 9dp;
  461. margin-right: 8dp;
  462. color: black;
  463. }
  464. datagrid datagridheader
  465. {
  466. width: auto;
  467. height: 25dp;
  468. padding: 5dp 10dp 0 10dp;
  469. decorator: tiled-horizontal( datagridheader-l, datagridheader-c, datagridheader-r );
  470. }
  471. datagrid datagridbody
  472. {
  473. color: black;
  474. margin-left: 4dp;
  475. margin-right: 3dp;
  476. padding: 0 4dp 4dp 4dp;
  477. }
  478. datagridexpand, expand
  479. {
  480. display: block;
  481. margin: 1dp 0 1dp 5dp;
  482. height: 17dp;
  483. width: 17dp;
  484. decorator: image( datagridexpand );
  485. }
  486. datagridexpand:hover, expand:hover
  487. {
  488. decorator: image( datagridexpand-hover );
  489. }
  490. datagridexpand:active, expand:active
  491. {
  492. decorator: image( datagridexpand-active );
  493. }
  494. datagridexpand.collapsed, expand.collapsed
  495. {
  496. decorator: image( datagridexpand-collapsed );
  497. }
  498. datagridexpand.collapsed:hover, expand.collapsed:hover
  499. {
  500. decorator: image( datagridexpand-collapsed-hover );
  501. }
  502. datagridexpand.collapsed:active, expand.collapsed:active
  503. {
  504. decorator: image( datagridexpand-collapsed-active );
  505. }
  506. scrollbarvertical
  507. {
  508. margin-top: -6dp;
  509. margin-bottom: -6dp;
  510. margin-right: -11dp;
  511. width: 27dp;
  512. }
  513. scrollbarvertical slidertrack
  514. {
  515. decorator: tiled-vertical( slidertrack-t, slidertrack-c, slidertrack-b );
  516. }
  517. scrollbarvertical slidertrack:active
  518. {
  519. image-color: #aaa;
  520. }
  521. scrollbarvertical sliderbar
  522. {
  523. margin-left: 4dp;
  524. width: 23dp;
  525. min-height: 46dp;
  526. decorator: tiled-vertical( sliderbar-t, sliderbar-c, sliderbar-b );
  527. }
  528. scrollbarvertical sliderbar:hover
  529. {
  530. decorator: tiled-vertical( sliderbar-hover-t, sliderbar-hover-c, sliderbar-hover-b );
  531. }
  532. scrollbarvertical sliderbar:active
  533. {
  534. decorator: tiled-vertical( sliderbar-active-t, sliderbar-active-c, sliderbar-active-b );
  535. }
  536. scrollbarvertical sliderarrowdec,
  537. scrollbarvertical sliderarrowinc
  538. {
  539. width: 27dp;
  540. height: 24dp;
  541. }
  542. scrollbarvertical sliderarrowdec
  543. {
  544. decorator: image( sliderarrowdec );
  545. }
  546. scrollbarvertical sliderarrowdec:hover
  547. {
  548. decorator: image( sliderarrowdec-hover );
  549. }
  550. scrollbarvertical sliderarrowdec:active
  551. {
  552. decorator: image( sliderarrowdec-active );
  553. }
  554. scrollbarvertical sliderarrowinc
  555. {
  556. decorator: image( sliderarrowinc );
  557. }
  558. scrollbarvertical sliderarrowinc:hover
  559. {
  560. decorator: image( sliderarrowinc-hover );
  561. }
  562. scrollbarvertical sliderarrowinc:active
  563. {
  564. decorator: image( sliderarrowinc-active );
  565. }
  566. scrollbarhorizontal
  567. {
  568. width: 0;
  569. height: 0;
  570. }
  571. textarea scrollbarvertical
  572. {
  573. cursor: arrow;
  574. margin: 10dp 0 4dp 0;
  575. width: 12dp;
  576. }
  577. textarea scrollbarvertical slidertrack
  578. {
  579. decorator: none;
  580. }
  581. textarea scrollbarvertical sliderbar
  582. {
  583. margin-left: 2dp;
  584. width: 10dp;
  585. min-height: 16dp;
  586. }
  587. textarea scrollbarvertical sliderarrowdec,
  588. textarea scrollbarvertical sliderarrowinc
  589. {
  590. width: 0;
  591. height: 0;
  592. }
  593. textarea scrollbarhorizontal
  594. {
  595. cursor: arrow;
  596. margin-left: 7dp;
  597. height: 12dp;
  598. }
  599. textarea scrollbarhorizontal sliderbar
  600. {
  601. background-color: #BC0000CC;
  602. height: 8dp;
  603. min-width: 10dp;
  604. }
  605. textarea scrollbarhorizontal sliderbar:hover
  606. {
  607. background-color: #B82500CC;
  608. }
  609. textarea scrollbarhorizontal sliderbar:active
  610. {
  611. background-color: #770000CC;
  612. }