{"id":644,"date":"2018-04-13T20:39:29","date_gmt":"2018-04-13T20:39:29","guid":{"rendered":"http:\/\/hayperek.pl\/?p=644"},"modified":"2018-04-13T20:39:29","modified_gmt":"2018-04-13T20:39:29","slug":"widgety-cz-4","status":"publish","type":"post","link":"https:\/\/hayperek.pl\/en\/2018\/04\/13\/widgety-cz-4\/","title":{"rendered":"Widgety &#8211; cz. 4"},"content":{"rendered":"<p>Kontynuujemy temat widget\u00f3w. Dzi\u015b przyszed\u0142 czas na dwa kolejne: menu oraz obraz\/bitmap\u0119. W por\u00f3wnaniu do <a href=\"http:\/\/hayperek.pl\/en\/2018\/04\/12\/widgety-cz-3\/\">wczorajszych widget\u00f3w tekstowych<\/a> s\u0105 one znacznie bardziej z\u0142o\u017cone. Dodatkowo menu jako pierwszy z widget\u00f3w musi zapewni\u0107 interakcj\u0119 z u\u017cytkownikiem i reagowa\u0107 na polecenia <a href=\"http:\/\/hayperek.pl\/en\/2018\/03\/26\/obsluga-manetki-cz-1\/\">manetki<\/a>. Nie ma na co czeka\u0107 &#8211; do dzie\u0142a!<\/p>\n<h5>Obraz\/bitmapa<\/h5>\n<p>na pierwszy rzut oka widget ten nie wydaje si\u0119 by\u0107 specjalnie skomplikowany. Musimy przecie\u017c tylko narysowa\u0107 dwuwymiarow\u0105 tablic\u0119 pikseli w wyznaczonym punkcie ekranu, a t\u0105 funkcjonalno\u015b\u0107 zapewnia nam ju\u017c przecie\u017c biblioteka graficzna. Po d\u0142u\u017cszym namy\u015ble zauwa\u017cymy jednak, \u017ce potrzebna b\u0119dzie konwersja danych z wybranego formatu BMP lub GIF na format strawny dla naszej biblioteki. Dodatkowo musimy uwzgl\u0119dni\u0107 r\u00f3\u017cnice w przestrzeni barw. Zazwyczaj korzystamy z palety RGB88, kt\u00f3ra do opisu ka\u017cdej sk\u0142adowej g\u0142\u00f3wnej u\u017cywa 8 bit\u00f3w. Wykorzystywany przez nas wy\u015bwietlacz obs\u0142uguje jedynie format RGB565, gdzie sk\u0142adowe czerwona i niebieska zawieraj\u0105 jedynie 5 bit\u00f3w, a sk\u0142adowa zielona &#8211; 6. W chwili obecnej jedynym \u017ar\u00f3d\u0142em danych jest dla nas nieulotna pami\u0119\u0107 Flash procesora. W przysz\u0142o\u015bci zostanie dodana obs\u0142uga wczytywania plik\u00f3w graficznych z <a href=\"http:\/\/hayperek.pl\/en\/2018\/03\/30\/karta-sd\/\">karty SD<\/a>. <\/p>\n<p>Na deser &#8211; proste okno sygnalizuj\u0105ce awari\u0119 uk\u0142adu hamulcowego \ud83d\ude42<\/p>\n<p><a href=\"http:\/\/hayperek.pl\/wp-content\/uploads\/2018\/04\/bitmaps.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/hayperek.pl\/wp-content\/uploads\/2018\/04\/bitmaps-225x300.jpg\" alt=\"\" width=\"225\" height=\"300\" class=\"aligncenter size-medium wp-image-646\" srcset=\"https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/04\/bitmaps-225x300.jpg 225w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/04\/bitmaps-600x800.jpg 600w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/04\/bitmaps-768x1024.jpg 768w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/04\/bitmaps.jpg 900w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/a><\/p>\n<h5>Menu<\/h5>\n<p>Pierwszym krokiem jest podpi\u0119cie naszego widgetu do manetki tak, aby u\u017cytkownik m\u00f3g\u0142 przemieszcza\u0107 si\u0119 pomi\u0119dzy pozycjami. Wykorzystamy w tym celu interfejs opisany w jednym z <a href=\"http:\/\/hayperek.pl\/en\/2018\/03\/27\/obsluga-manetki-cz-2\/\">poprzednich artyku\u0142\u00f3w<\/a>. W ten spos\u00f3b widget nie jest zmuszony odnosi\u0107 si\u0119 bezpo\u015brednio do sprz\u0119tu czy samodzielnie sprawdza\u0107 stanu przycisk\u00f3w. Samo menu w obecnej postaci jest do\u015b\u0107 ascetyczne &#8211; priorytetem jest uruchomienie funkcjonalno\u015bci. Dopieszczenie wygl\u0105du pozostawimy sobie na koniec \ud83d\ude00<\/p>\n<p><a href=\"http:\/\/hayperek.pl\/wp-content\/uploads\/2018\/04\/menu.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/hayperek.pl\/wp-content\/uploads\/2018\/04\/menu-225x300.jpg\" alt=\"\" width=\"225\" height=\"300\" class=\"aligncenter size-medium wp-image-648\" srcset=\"https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/04\/menu-225x300.jpg 225w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/04\/menu-600x800.jpg 600w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/04\/menu-768x1024.jpg 768w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/04\/menu.jpg 900w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/a><\/p>\n<p>Jak wida\u0107 powoli zaczynamy spina\u0107 przygotowane wcze\u015bniej kawa\u0142ki razem &#8211; tworz\u0105c zacz\u0105tki interfejsu u\u017cytkownika. Mo\u017cna sobie tylko wyobrazi\u0107 ile jeszcze mo\u017cliwo\u015bci przed nami \ud83d\ude42<br \/>\nTyle na dzi\u015b \ud83d\ude42 <\/p>","protected":false},"excerpt":{"rendered":"<p>Kontynuujemy temat widget\u00f3w. Dzi\u015b przyszed\u0142 czas na dwa kolejne: menu oraz obraz\/bitmap\u0119. W por\u00f3wnaniu do wczorajszych widget\u00f3w tekstowych s\u0105 one znacznie bardziej z\u0142o\u017cone. Dodatkowo menu jako pierwszy z widget\u00f3w musi zapewni\u0107 interakcj\u0119 z u\u017cytkownikiem i reagowa\u0107 na polecenia manetki. Nie ma na co czeka\u0107 &#8211; do dzie\u0142a! Obraz\/bitmapa na pierwszy rzut oka widget ten nie [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":653,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":{"0":"post-644","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-stodni","9":"post-with-thumbnail","10":"post-with-thumbnail-large"},"_links":{"self":[{"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/posts\/644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/comments?post=644"}],"version-history":[{"count":5,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/posts\/644\/revisions"}],"predecessor-version":[{"id":652,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/posts\/644\/revisions\/652"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/media\/653"}],"wp:attachment":[{"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/media?parent=644"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/categories?post=644"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/tags?post=644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}