App
|
Třída pro práci s nízkoúrovňovou reprezentací bitmapy v paměti. Třída pro práci s nízkoúrovňovou reprezentací bitmapy v paměti - dvourozměrné pole pixelů uložené jako souvislý blok dat. More...
#include <PointerArea.hpp>
Public Member Functions | |
PointerArea (void *pStart, Rect origDim, unsigned int bpp) | |
Vytvoří oblast o daných parametrech. | |
PointerArea (void *pStart, Rect origDim, Rect areaDim, unsigned int bpp) | |
Vytvoří oblast o daných parametrech. | |
PointerArea (const PointerArea &other) | |
Kopírovací konstruktor, kvůli konstantnímu bpp. | |
Rect | getOrig () const |
Vrací obdélník představující původní oblast. | |
Rect | getArea () const |
Vrací obdélník reprezentující vybranou oblast. | |
unsigned int | getAreaWidth () const |
Vrací šířku vybrané oblasti v počtu prvků (předpokládá se jeden prvek o velikosti bpp bajtů). | |
unsigned int | getOrigWidth () const |
Vrací šířku původní oblasti v počtu prvků (předpokládá se jeden prvek o velikosti bpp bajtů). | |
unsigned int | getAreaHeight () const |
Vrací výšku vybrané oblasti v počtu prvků (předpokládá se jeden prvek o velikosti bpp bajtů). | |
unsigned int | getOrigHeight () const |
Vrací výšku původní oblasti v počtu prvků (předpokládá se jeden prvek o velikosti bpp bajtů). | |
unsigned int | getAreaByteWidth () const |
Vrací šířku vybrané oblasti v bajtech. | |
unsigned int | getOrigByteWidth () const |
Vrací šířku původní oblasti v bajtech. | |
unsigned int | getOrigSize () const |
Vrací velikost původní oblasti v bajtech. | |
unsigned int | getAreaSize () const |
Vrací velikost dat ve vybrané oblasti v bajtech. | |
unsigned int | getByteOffset () const |
Vrací offset řádků vybrané oblasti vzhledem k původní v bajtech. | |
unsigned int | getOffset () const |
Vrací offset řádků vybrané oblasti vzhledem k původní v počtu prvků (předpokládá se jeden prvek o velikosti bpp bajtů). | |
void * | getOrigBgn () const |
Vrací pointer na počátek původní oblasti. | |
void * | getAreaBgn () const |
Vrací pointer na počátek vybrané oblasti. | |
void * | getAreaRowEnd () const |
Vrací pointer na první prvek za posledním prvkem v prvním řádku vybrané oblasti. | |
void * | getOrigEnd () const |
Vrací pointer ukazujici na první prvek za původní oblastí oblastí. | |
void * | getOrigRowEnd () const |
Vrací pointer na první prvek za posledním prvkem v prvním řádku (tedy na první (nultý) prvek druhého řádku). | |
void * | getAreaEnd () const |
Vrací pointer ukazujici na první prvek za oblastí oblastí. | |
Static Public Member Functions | |
static int | makeCommon (PointerArea &dst, PointerArea &src, Point srcOrig) |
Upraví oblasti tak, aby obě obsahovali pouze "společnou část" (průnik) se zadaným posunutím. | |
static int | makeCommon (PointerArea &dst, PointerArea &src1, Point src1Orig, PointerArea &src2, Point src2Orig) |
Upraví oblasti tak, aby všechny obsahovali pouze "společnou část" (průnik) se zadaným posunutím. | |
static int | copy (PointerArea dst, PointerArea src, Point srcOrig) |
Zkopíruje data z jedné oblasti do druhé na vybrané místo. | |
static int | fill (PointerArea dst, void *src) |
Vyplní oblast konstantní hodnotou. | |
Public Attributes | |
const unsigned int | bpp |
udává, kolik je bajtů na pixel (BytesPerPixel). | |
Private Attributes | |
byte * | pStart |
Pointer na začátek oblasti v paměti. | |
Rect | origDim |
Obdélník s údaji o původní velikosti celé oblasti - maximální možná velikost oblasti. | |
Rect | areaDim |
Obdélník představující velikost skutečně používané oblasti (výseče) z té původní. | |
Třída pro práci s nízkoúrovňovou reprezentací bitmapy v paměti. Třída pro práci s nízkoúrovňovou reprezentací bitmapy v paměti - dvourozměrné pole pixelů uložené jako souvislý blok dat.
Není vhodné, aby byla template, protože hlavní účel - makeCommon() musí zvládat odlišné bpp.
Není závislé na počtu bajtů na pixel, takže je obecně použitelné pro dvourozměrné pole jakýhkoliv dat, ale vyžaduje přetypování!!!
Definition at line 32 of file PointerArea.hpp.
|
inline |
Vytvoří oblast o daných parametrech.
Vytvoří oblast o daných parametrech, velikost oblasti je totožná s původní velikostí.
Uvažuje se šířka oblasti (počet prvků v oblasti) daná výsledkem volání origDim.getWidth() a výška oblasti daná voláním origDim.getHeight(), proto je pro správné fungování je doporučeno, aby origDim měl horní levý roh v bodě (0, 0) a dolní pravý roh měl souřadnice (width, height), přičemž při indexování od 0 již na souřadnici (width, height) není žádný prvek!
pStart | Pointer na začátek oblasti. |
origDim | Velikost původní oblasti, bude použita i jako velikost výřezu. |
bpp | Počet bajtů na pixel |
Definition at line 50 of file PointerArea.hpp.
Vytvoří oblast o daných parametrech.
Vytvoří oblast o daných parametrech, velikost oblasti se pokusí nastavit na areaDim, pokud tato přesahuje maximální (origDim), provede se ořez.
Uvažuje se šířka oblasti (počet prvků v oblasti) daná výsledkem volání origDim.getWidth() a výška oblasti daná voláním origDim.getHeight(), proto je pro správné fungování je doporučeno, aby origDim měl horní levý roh v bodě (0, 0) a dolní pravý roh měl souřadnice (width, height), přičemž při indexování od 0 již na souřadnici (width, height) není žádný prvek!
Totéž platí i pro areaDim.
pStart | Pointer na začátek oblasti. |
origDim | Velikost původní oblasti. |
areaDim | Velikost požadované oblasti, může být ořezána. |
bpp | Počet bajtů na pixel. |
Definition at line 10 of file PointerArea.cpp.
|
inline |
Kopírovací konstruktor, kvůli konstantnímu bpp.
Kopírovací konstruktor kvůli konstantnímu bpp.
other | Kopírovaná PointerArea. |
Definition at line 74 of file PointerArea.hpp.
|
static |
Zkopíruje data z jedné oblasti do druhé na vybrané místo.
Zkopíruje data z jedné oblasti do druhé na vybrané místo, pokud mají stejný typ (bpp) a existuje společná část (průnik).
dst | Zdrojová oblast. |
src | Cílová oblast. |
srcOrig | Umístění horního levého rohu zdrojové oblasti v ss cílové oblasti. |
Definition at line 70 of file PointerArea.cpp.
|
static |
Vyplní oblast konstantní hodnotou.
Vyplní oblast dst konstantní hodnotou, kterou nalezne na adrese src.
dst | Oblast, která se má vyplnit. |
src | Místo, odkud se berou konstantní data. |
Definition at line 91 of file PointerArea.cpp.
|
inline |
Vrací obdélník reprezentující vybranou oblast.
Definition at line 80 of file PointerArea.hpp.
|
inline |
|
inline |
Vrací šířku vybrané oblasti v bajtech.
Definition at line 95 of file PointerArea.hpp.
|
inline |
|
inline |
Vrací výšku vybrané oblasti v počtu prvků (předpokládá se jeden prvek o velikosti bpp bajtů).
Definition at line 89 of file PointerArea.hpp.
|
inline |
|
inline |
|
inline |
Vrací šířku vybrané oblasti v počtu prvků (předpokládá se jeden prvek o velikosti bpp bajtů).
Definition at line 83 of file PointerArea.hpp.
|
inline |
Vrací offset řádků vybrané oblasti vzhledem k původní v bajtech.
Vrací offset řádků vybrané oblasti vzhledem k původní oblasti v bajtech, tedy počet bajtů, o které je nutné se posunout při přechodu na začátek dalšího řádku vybrané oblasti od konce stávajícího řádku vybrané oblasti
Definition at line 113 of file PointerArea.hpp.
|
inline |
Vrací offset řádků vybrané oblasti vzhledem k původní v počtu prvků (předpokládá se jeden prvek o velikosti bpp bajtů).
Vrací offset řádků vybrané oblasti vzhledem k původní oblasti v počtu prvků (předpokládá se jeden prvek o velikosti bpp bajtů), tedy počet prvků, o které je nutné se posunout při přechodu na začátek dalšího řádku vybrané oblasti od konce stávajícího řádku vybrané oblasti.
Definition at line 122 of file PointerArea.hpp.
|
inline |
Vrací obdélník představující původní oblast.
Definition at line 77 of file PointerArea.hpp.
|
inline |
Vrací pointer na počátek původní oblasti.
Definition at line 125 of file PointerArea.hpp.
|
inline |
Vrací šířku původní oblasti v bajtech.
Definition at line 98 of file PointerArea.hpp.
|
inline |
Vrací pointer ukazujici na první prvek za původní oblastí oblastí.
Definition at line 134 of file PointerArea.hpp.
|
inline |
Vrací výšku původní oblasti v počtu prvků (předpokládá se jeden prvek o velikosti bpp bajtů).
Definition at line 92 of file PointerArea.hpp.
|
inline |
Vrací pointer na první prvek za posledním prvkem v prvním řádku (tedy na první (nultý) prvek druhého řádku).
Definition at line 137 of file PointerArea.hpp.
|
inline |
|
inline |
Vrací šířku původní oblasti v počtu prvků (předpokládá se jeden prvek o velikosti bpp bajtů).
Definition at line 86 of file PointerArea.hpp.
|
static |
Upraví oblasti tak, aby obě obsahovali pouze "společnou část" (průnik) se zadaným posunutím.
Nalezne společnou část (průnik) dvou oblastí tak, že do souřadného systému oblasti dst se umístí zdrojová oblast src tak, že její horní levý roh je totožný s bodem srcOrig (v ss dst). Oblasti jsou následně ořezány tak, aby tvořili průnik.
dst | Cílová oblast. |
src | Zdrojová oblast. |
srcOrig | Umístění horního levého rohu zdrojové oblasti v ss cílové oblasti. |
Definition at line 18 of file PointerArea.cpp.
|
static |
Upraví oblasti tak, aby všechny obsahovali pouze "společnou část" (průnik) se zadaným posunutím.
Nalezne společnou část (průnik) oblastí tak, že do souřadného systému oblasti dst se umístí zdrojové oblasti srcX tak, že jejch horní levý roh je totožný s bodem srcXOrig (v ss dst). Oblasti jsou následně ořezány tak, aby tvořili průnik.
dst | Cílová oblast. |
src1 | První zdrojová oblast. |
src1Orig | Horní levý roh první zdrojové oblasti v ss cílové. |
src2 | Druhá zdrojová oblast. |
src2Orig | Horní levý roh druhé zdrojové oblasti v ss cílové. |
Definition at line 41 of file PointerArea.cpp.
|
private |
Obdélník představující velikost skutečně používané oblasti (výseče) z té původní.
Definition at line 35 of file PointerArea.hpp.
const unsigned int app::PointerArea::bpp |
udává, kolik je bajtů na pixel (BytesPerPixel).
Definition at line 37 of file PointerArea.hpp.
|
private |
Obdélník s údaji o původní velikosti celé oblasti - maximální možná velikost oblasti.
Definition at line 34 of file PointerArea.hpp.
|
private |
Pointer na začátek oblasti v paměti.
Definition at line 33 of file PointerArea.hpp.