Optimizirano risanje grafike

programski jeziki in programiranje

Moderator: tilz0R

Re: Optimizirano risanje grafike

OdgovorNapisal/-a gregoral » 10 Mar 2017, 16:01

tilz0R je napisal/-a:... Idealno bi bilo, da imam 4 layerje ...

To naj bo stvar končnega programerja ne knjižnice.
tz0rlib->insert-new-layer(idx=3);
tz0rlib->alloc-bmp-buffer(w=200,h=100);
tz0rlib->alloc-bmp-buffer(0,0); // fullscreen

Na pripetem screenshotu so VSI widgeti "top-most".
( vseh 32 če window-frame, title, ... niso widgeti ).
Tako je verjetno v 95%(*) primerih.
lp

(*) Procenti so ocenjeni. V primeru težav se obrnite na farmacevta ali osebnega zdravnika.
Priponke
GUI - Examples - speca-gui.png
gregoral
 
Prispevkov: 167
Pridružen: 19 Jan 2015, 11:12
Kraj: Ljubljana
Zahvalil se je: 4 krat
Prejel zahvalo: 75 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 10

Re: Optimizirano risanje grafike

OdgovorNapisal/-a tilz0R » 11 Apr 2017, 22:23

tilz0R je napisal/-a:Potrebujem pa še:
- Multitouch
- Keyboard
- Mogoče mouse cursor (dodaten navidezen layer za miško)
- Focus widgeta
- keyboard input znakov in samodejna zaznava znaka ter komanda widgetu, ki ima focus, da jo obdela če ima kaj za obdelat.
- pa še se najde.


Razen mouse cursorja je ostalo dodano, + še encoder/decoder za UTF-8 znake :D

Zaenkrat sem šel toliko "daleč", da lahko widgetu, ki sprejme children widgete (recimo "Window") dodaš padding in tudi scroll po X in Y osi. Kot browser. Tukaj brez clipping regij nebi bilo mogoče risati sploh, kjer je v osnovi treba samo dej narisat.

Torej clipping regije zaenkrat delajo dobro. Je pa težava, da je izračun koordinat risanja in touch zaznavanja odvisen od kako globoko je widget (koliko ima parentov), ter ali je padding/scroll parenta in njegovih parentov vklopljen. Za vsak widget je potrebno posebej poračunati.
Še vedno menim, da je to precej manj, kot pa če preveč riše, ampak bom videl, ko bo enkrat gor več tega pa še kakšen "move" bo zraven.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1392
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 182 krat
Prejel zahvalo: 340 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Optimizirano risanje grafike

OdgovorNapisal/-a MvE » 13 Apr 2017, 09:44

Ta program bi enkrat rad videl ...na youtubu. Koda je itak prevec zame :D me pa res zanima kako deluje. Lahko ob priliki posnames za firbce? :)
MvE
 
Prispevkov: 102
Pridružen: 26 Jan 2015, 02:11
Zahvalil se je: 4 krat
Prejel zahvalo: 6 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 1

Re: Optimizirano risanje grafike

OdgovorNapisal/-a tilz0R » 13 Apr 2017, 13:47

MvE je napisal/-a:Ta program bi enkrat rad videl ...na youtubu. Koda je itak prevec zame :D me pa res zanima kako deluje. Lahko ob priliki posnames za firbce? :)



Trenutno lahko pokažem sliko zaslona in vseh trenutno narejenih widgetov. Pridejo še ostali.

Moram še dodati opcijo, da na PC preslikam barve iz zaslona in shranim kot png za na forum :)
Priponke
File_000.jpeg
Screen.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1392
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 182 krat
Prejel zahvalo: 340 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Optimizirano risanje grafike

OdgovorNapisal/-a tilz0R » 24 Sep 2017, 09:48

GUI napreduje, zataknilo se mi je pri enem featurju, kjer ne najdem (pametne) rešitve.

Imam list view widget, ki ima lahko podwidgete (Kot pri Androidu). Ker je lista lahko večja, kot jo omogoča zaslon prikazati, bi rad uvedel scrolling s podporo toucha.

Tukaj se zatakne! Vsa logika je narejena, da ko je zaznan touch, algoritem išče widget, ki je na tisti lokaciji najbolj na vrhu (v tem primeru je to item na list view, in ne list view kot takšen).

Ima kdo idejo, kako zaznati, da je uporabnik hotel narediti scroll in ne pritisniti item-a direktno?

Koda: Izberi vse
|------------------------|
|-- BUTTON WIDGET ITEM --|
|------------------------|
|-- BUTTON WIDGET ITEM --|
|------------------------|
|-- BUTTON WIDGET ITEM --|
|------------------------|
|-- BUTTON WIDGET ITEM --|
|------------------------|
|-- BUTTON WIDGET ITEM --|
|------------------------|
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1392
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 182 krat
Prejel zahvalo: 340 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Optimizirano risanje grafike

OdgovorNapisal/-a radix » 24 Sep 2017, 10:11

A niso ponavadi gumbi narejeni tako, da klik "zaznajo" šele ko uporabnik spusti tipko/umakne prst z ekrana?
Ko se ekrana dotakne, poglej v katero smer bo premaknil kurzor in če je razdalja večja od neke meje, potem je to bil scroll...
radix
 
Prispevkov: 1125
Pridružen: 04 Feb 2015, 20:19
Kraj: Ljubljana
Zahvalil se je: 188 krat
Prejel zahvalo: 255 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 19

Re: Optimizirano risanje grafike

OdgovorNapisal/-a tilz0R » 25 Sep 2017, 10:25

radix je napisal/-a:A niso ponavadi gumbi narejeni tako, da klik "zaznajo" šele ko uporabnik spusti tipko/umakne prst z ekrana?
Ko se ekrana dotakne, poglej v katero smer bo premaknil kurzor in če je razdalja večja od neke meje, potem je to bil scroll...


To že res, vendar pa je drugače, če sam widget podpira scroll.

No, kakorkoli. Potreboval sem le napisat "naglas" in sem našel rešitev. Če je zaznan touchmove event in ga widget ne "prebavi", le-tega pošljem njegovemu najdrejenemu, ki (če je scrollable) nastavi navidezen scroll.

Sedaj dela :)
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1392
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 182 krat
Prejel zahvalo: 340 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Optimizirano risanje grafike

OdgovorNapisal/-a zanka » 16 Dec 2017, 21:39

Katere prikaze grafik podpira? SVG?

Zanima me, če je že kaj na to temo sprogramirano.
Uporabniški avatar
zanka
 
Prispevkov: 1793
Pridružen: 17 Mar 2016, 01:16
Kraj: Krško
Zahvalil se je: 93 krat
Prejel zahvalo: 153 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 29

Re: Optimizirano risanje grafike

OdgovorNapisal/-a tilz0R » 16 Dec 2017, 21:42

zanka je napisal/-a:Katere prikaze grafik podpira? SVG?

Zanima me, če je že kaj na to temo sprogramirano.


Moj GUI tega ne podpira. Nobenega parserja ni vgrajenega, niti nimam namena, da bi to dodal. Čeprav SVG bi bil dokaj "enostaven".

Seveda si pa vabljen, da nadaljuješ in narediš pull request ali podobno. Koda je free in online.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1392
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 182 krat
Prejel zahvalo: 340 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Prejšnja

Vrni se na Software

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost