App
|
Třída pro asynchronní vykreslování bitmapy na daný SurfaceView. More...
Classes | |
class | Lock |
Třída, na které se provádí synchronizace. More... | |
Public Member Functions | |
BitmapDisplayer (SurfaceView sv) | |
Výchozí konstruktor. | |
int | translateCoordX (float x) |
Přeloží obrazovkovou souřadnici na souřadnici v bitmapě. | |
int | translateCoordY (float y) |
Přeloží obrazovkovou souřadnici na souřadnici v bitmapě. | |
SurfaceView | getSurfaceView () |
Vrací SurfaceView, na který se vykresluje. | |
void | setInput (Bitmap bitmap) |
Nastaví vstupní bitmapu a zadá požadavek na překreslení. | |
void | setInput (PDBitmap bitmap) |
Pošle požadavek na nastavení vstupních dat. | |
void | redraw () |
Pošle požadavek na překreslení. | |
void | setPosition (float leftOffset, float topOffset) |
Nastaví pozici vykreslované bitmapy a zadá požadavek na překreslení. | |
void | movePositionBy (float dx, float dy) |
Posune pozici vykreslované bitmapy o daná delta a zadá požadavek na překreslení. | |
void | setZoom (double zoom) |
Nastaví zvětšení vykreslované bitmapy a zadá požadavek na překreslení. Pokud je zoom <= 0, je akce ignorována. | |
void | adjustZoom (double factor, float focusX, float focusY) |
Upraví hodnotu zoomu tak, že ji vynásobí daným faktorem. | |
void | adjustZoom (double factor) |
Upraví hodnotu zoomu tak, že ji vynásobý zadaným factorem. | |
void | centerAndResetZoom () |
Nastaví zoom na 1 a vycentruje obraz. | |
void | centerAndFit () |
Vycentruje obraz a nastaví zoom tak, aby byl vidět celý obraz;. | |
void | surfaceCreated (SurfaceHolder holder) |
Callback volaný při vytvoření SurfaceView. | |
void | surfaceChanged (SurfaceHolder holder, int format, int width, int height) |
Callback volaný v okamžiku, kdy kanvas dostane rozměry. | |
void | surfaceDestroyed (SurfaceHolder holder) |
Callback při zničení povrchu. | |
void | run () |
Private Attributes | |
Lock | lock = null |
Slouží k nastavování flagů k vláknu a pro synchronizaci místo neefektivního synchronized(this) | |
Thread | thread = null |
Vlákno, které provádí vykreslování. | |
SurfaceView | sv = null |
SurfaceView, na který se vykresluje. | |
int | outputWidth = -1 |
Šířka výstupního kavasu, na který se vykresluje. | |
int | outputHeight = -1 |
Výška výstupního kavasu, na který se vykresluje. | |
Bitmap | data = null |
Aktuální bitmapa, která se vykresluje. | |
int | dataWidth = -1 |
Šířka bitmapy, která se vykresluje. | |
int | dataHeight = -1 |
Výška bitmapy, která se vykresluje. | |
Bitmap | newData = null |
Bitmapa, která čeká ve frontě na to, aby byla nastavena jako ta, která se bude vykreslovat. | |
double | zoom = 1 |
Zvětšení vykreslované bitmapy. | |
float | leftUserOffset |
Posunutí vykreslované bitmapy na kanvase, bráno v souřadnicích SurfaceView, tedy odpovídá posunutí již zvětšené bitmapy. | |
float | topUserOffset |
Posunutí vykreslované bitmapy na kanvase, bráno v souřadnicích SurfaceView, tedy odpovídá posunutí již zvětšené bitmapy. | |
Třída pro asynchronní vykreslování bitmapy na daný SurfaceView.
Definition at line 20 of file BitmapDisplayer.java.
|
inline |
|
inline |
Upraví hodnotu zoomu tak, že ji vynásobí daným faktorem.
Upraví hodnotu zoomu tak, že ji vynásobý zadaným factorem a zadá požadavek na překreslení. Pokud je factor <= 0, je akce ignorována, za centrum zoomu se považují zadané souřadnice.
factor | |
focusX | |
focusY |
Definition at line 203 of file BitmapDisplayer.java.
|
inline |
Upraví hodnotu zoomu tak, že ji vynásobý zadaným factorem.
Upraví hodnotu zoomu tak, že ji vynásobý zadaným factorem a zadá požadavek na překreslení. Pokud je factor <= 0, je akce ignorována, za centrum zoomu se považuje střed canvasu.
factor |
Definition at line 221 of file BitmapDisplayer.java.
|
inline |
Vycentruje obraz a nastaví zoom tak, aby byl vidět celý obraz;.
Definition at line 242 of file BitmapDisplayer.java.
|
inline |
Nastaví zoom na 1 a vycentruje obraz.
Definition at line 228 of file BitmapDisplayer.java.
|
inline |
Vrací SurfaceView, na který se vykresluje.
Definition at line 107 of file BitmapDisplayer.java.
|
inline |
Posune pozici vykreslované bitmapy o daná delta a zadá požadavek na překreslení.
Posune pozici vykreslované bitmapy o daná delta a zadá požadavek na překreslení. Pozice je v souřadnicích SurfaceVIew, tedy se aplikuje až na zvětšenou, zmenšenou bitmapu.
dx | Posunutí v horizontálním směru. |
dy | Posunutí ve vertikálním směru. |
Definition at line 171 of file BitmapDisplayer.java.
|
inline |
Pošle požadavek na překreslení.
Implements mhr.appcore.interfaces.PDDisplayer.
Definition at line 140 of file BitmapDisplayer.java.
|
inline |
Definition at line 303 of file BitmapDisplayer.java.
|
inline |
Nastaví vstupní bitmapu a zadá požadavek na překreslení.
Nastavení neproběhne okamžitě, nastavení provádí až vykreslovací vlákno. Pokud je bitmap null, je akce ignorována.
Bitmapa MUSÍ být platná, platnost bitmapy není testována, stejně tak jako na ní není prováděna synchronizace, aby jiné vlákna mohli přistupovat k jejím datům.
Stará bitmapa se nijak neuvolňuje, to je povinost třídy využívající BitmapDisplayer.
bitmap | Nová vykreslovaná bitmapa. |
Definition at line 121 of file BitmapDisplayer.java.
|
inline |
Pošle požadavek na nastavení vstupních dat.
bitmap | Nová vstupní data. |
Implements mhr.appcore.interfaces.PDDisplayer.
Definition at line 132 of file BitmapDisplayer.java.
|
inline |
Nastaví pozici vykreslované bitmapy a zadá požadavek na překreslení.
Nastaví pozici vykreslované bitmapy a zadá požadavek na překreslení. Pozice je v souřadnicích SurfaceVIew, tedy se aplikuje až na zvětšenou, zmenšenou bitmapu.
leftOffset | Odsazení z leva. |
topOffset | Odsazení z vrchu. |
Definition at line 154 of file BitmapDisplayer.java.
|
inline |
Nastaví zvětšení vykreslované bitmapy a zadá požadavek na překreslení. Pokud je zoom <= 0, je akce ignorována.
zoom | Nová hodnota zvětšení. |
Definition at line 185 of file BitmapDisplayer.java.
|
inline |
Callback volaný v okamžiku, kdy kanvas dostane rozměry.
Definition at line 271 of file BitmapDisplayer.java.
|
inline |
Callback volaný při vytvoření SurfaceView.
Definition at line 266 of file BitmapDisplayer.java.
|
inline |
Callback při zničení povrchu.
Definition at line 284 of file BitmapDisplayer.java.
|
inline |
Přeloží obrazovkovou souřadnici na souřadnici v bitmapě.
x |
Definition at line 87 of file BitmapDisplayer.java.
|
inline |
Přeloží obrazovkovou souřadnici na souřadnici v bitmapě.
y |
Definition at line 98 of file BitmapDisplayer.java.
|
private |
Aktuální bitmapa, která se vykresluje.
Definition at line 51 of file BitmapDisplayer.java.
|
private |
Výška bitmapy, která se vykresluje.
Definition at line 53 of file BitmapDisplayer.java.
|
private |
Šířka bitmapy, která se vykresluje.
Definition at line 52 of file BitmapDisplayer.java.
|
private |
Posunutí vykreslované bitmapy na kanvase, bráno v souřadnicích SurfaceView, tedy odpovídá posunutí již zvětšené bitmapy.
Definition at line 57 of file BitmapDisplayer.java.
|
private |
Slouží k nastavování flagů k vláknu a pro synchronizaci místo neefektivního synchronized(this)
Definition at line 46 of file BitmapDisplayer.java.
|
private |
Bitmapa, která čeká ve frontě na to, aby byla nastavena jako ta, která se bude vykreslovat.
Definition at line 54 of file BitmapDisplayer.java.
|
private |
Výška výstupního kavasu, na který se vykresluje.
Definition at line 50 of file BitmapDisplayer.java.
|
private |
Šířka výstupního kavasu, na který se vykresluje.
Definition at line 49 of file BitmapDisplayer.java.
|
private |
SurfaceView, na který se vykresluje.
Definition at line 48 of file BitmapDisplayer.java.
|
private |
Vlákno, které provádí vykreslování.
Definition at line 47 of file BitmapDisplayer.java.
|
private |
Posunutí vykreslované bitmapy na kanvase, bráno v souřadnicích SurfaceView, tedy odpovídá posunutí již zvětšené bitmapy.
Definition at line 58 of file BitmapDisplayer.java.
|
private |
Zvětšení vykreslované bitmapy.
Definition at line 56 of file BitmapDisplayer.java.