App

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
mhr.appcore.tools.brushlike.LUTBrush Class Reference

Třída reprezentuje klasický štětec, který kreslí v daném módu prolnutí na danou barvou s danými parametry. More...

Inheritance diagram for mhr.appcore.tools.brushlike.LUTBrush:

## Public Member Functions
| LUTBrush (NBitmap brush, double opacity, double flow, double spacing)
| Výchozí konstruktor.
void | applyTo (Image img, ToolActionData data) throws ToolNotApplicableException
| Aplikuje nástroj na vybraný element obrazu, pokud nelze provést, hodí výjimku.
void | onRender (Image i, NBitmap c, NBitmap l, NBitmap o, NBitmap m, Rect src, int srcOrigX, int srcOrigY)
| Callback, který volá obraz v okamžiku, kdy je třeba renderovat část obrazu.
void | onCommit (Image i, NBitmap c, NBitmap l, NBitmap o, NBitmap m, Rect src, int srcOrigX, int srcOrigY)
| Callback, který volá obraz v okamžiku, kdy je kanvas odeslán k provedení finálních úprav.
synchronized void | dispose ()
| Slouží k uvolnění nativních prostředků při výměně nástroje.
void | bgnDraw (Image img, int atX, int atY)
| Zahájí kreslení na dané souřadnici, připravý
void | drawTo (Image img, int toX, int toY)
| Nakreslí rovnou čáru od poslední souřadnice do zadané souřadnice.
void | endDraw (Image img, int atX, int atY)
| Ukončí kreslení na dané souřadnici. Pokusí se nakreslit čáru na danou souřadnici a pak odešle canvas.

## Public Attributes
NBitmap | brush
| hrot Štětce.
Rect | brushRect
| Předpřipravený obdélník popisující hrot štětce.
int | centerX
| Předpočítaný střed štětce.
int | centerY
| Předpočítaný střed štětce.

## Static Public Attributes
static final double | flowAsFull = 0.9999
static final double | flowAsNone = 0.0001

## Protected Member Functions
void | finalize () throws Throwable
void | drawAt (Image img, NBitmap canvas, NBitmap mask, int atX, int atY)
| Nakreslí jeden otisk štětce na dané souřadnici.

## Protected Attributes
LUT | lut = null
int | lastX
| Souřadnice bodu, kam se kreslilo naposledy.
int | lastY
| Souřadnice bodu, kam se kreslilo naposledy.
double | opacity
| Průhlednost kanvasu, její aplikace závisí až na konkrétní implementaci onRender a onCommit.
double | flow
| Průhlednost štětce.
double | spacing
| Spacing štětce. Jedná se o absolutní spacing v px!!!
BrushMode | brushMode
| Mód štětce.
Rect | maskRect
| Obdélník masky, je zde aby nemusel být předáván parametrem.

## Detailed Description

Třída reprezentuje klasický štětec, který kreslí v daném módu prolnutí na danou barvou s danými parametry.

Definition at line 16 of file LUTBrush.java.

## Constructor & Destructor Documentation

mhr.appcore.tools.brushlike.LUTBrush.LUTBrush | ( | NBitmap | brush,
|  | double | opacity,
|  | double | flow,
|  | double | spacing
| ) |  |
| inline

Výchozí konstruktor.

Parameters

  brush |
  mode |
  opacity |
  flow |
  color |
  spacing | Absolutní spacing v px.

Definition at line 29 of file LUTBrush.java.

{
super(brush, BrushMode.MODE_ADD, opacity, flow, spacing);
}

## Member Function Documentation

void mhr.appcore.tools.brushlike.LUTBrush.applyTo | ( | Image | img,
|  | ToolActionData | data
| ) |  | throws ToolNotApplicableException
| inline

Aplikuje nástroj na vybraný element obrazu, pokud nelze provést, hodí výjimku.

Parameters

  img | Obraz, na který je nástroj aplikován.
  data | Data určující akci, kterou má nástroj provést.

Exceptions

  ToolNotApplicableException |

Implements mhr.appcore.tools.Tool.

Definition at line 34 of file LUTBrush.java.

{
if (img.getSelectedState() == ImageSelectedState.SELECTED_LAYER) {
super.applyTo(img, data);
} else {
throw new ToolNotApplicableException("Brush tool is not applicable to selected element");
}
}

void mhr.appcore.tools.brushlike.BrushLikeTool.bgnDraw | ( | Image | img,
|  | int | atX,
|  | int | atY
| ) |  |
| inlineinherited

Zahájí kreslení na dané souřadnici, připravý

Parameters

  img | Obraz na který se kreslí.
  atX |
  atY |

Definition at line 130 of file BrushLikeTool.java.

{
NBitmap canvas = img.prepareCanvas(this, ChannelCount.SINGLE_CHANNEL);
NBitmap mask = null;
if (img.isMasterMaskActive()) {
mask = img.getMasterMask();
maskRect = mask.getRect();
}
drawAt(img, canvas, mask, atX, atY);
}

synchronized void mhr.appcore.tools.brushlike.LUTBrush.dispose | ( |  | ) |
| inline

Slouží k uvolnění nativních prostředků při výměně nástroje.

Implements mhr.appcore.tools.Tool.

Definition at line 57 of file LUTBrush.java.

{
if (lut != null) {
lut.dispose();
lut = null;
}
super.dispose();
}

void mhr.appcore.tools.brushlike.BrushLikeTool.drawAt | ( | Image | img,
|  | NBitmap | canvas,
|  | NBitmap | mask,
|  | int | atX,
|  | int | atY
| ) |  |
| inlineprotectedinherited

Nakreslí jeden otisk štětce na dané souřadnici.

Parameters

  img | Obraz, na který se kreslí.
  canvas | Canvas
  mask | masterMask, pokud je použita, jinak null
  atX |
  atY |

Definition at line 180 of file BrushLikeTool.java.

{
lastX = atX;
lastY = atY;
if (flow > flowAsFull) {
if (brushMode == BrushMode.MODE_ADD) {
if (mask != null) {
Blender.addTo(canvas, mask, brush, maskRect, atX - centerX, atY - centerY, 0, 0);
} else {
Blender.addTo(canvas, brush, brushRect, atX - centerX, atY - centerY);
}
} else {
if (mask != null) {
Blender.removeFrom(canvas, mask, brush, maskRect, atX - centerX, atY - centerY, 0, 0);
} else {
Blender.removeFrom(canvas, brush, brushRect, atX - centerX, atY - centerY);
}
}
} else if (flow < flowAsNone) {
return;
} else {
if (brushMode == BrushMode.MODE_ADD) {
if (mask != null) {
Blender.addTo(canvas, mask, brush, maskRect, atX - centerX, atY - centerY, 0, 0, flow);
} else {
Blender.addTo(canvas, brush, brushRect, atX - centerX, atY - centerY, flow);
}
} else {
if (mask != null) {
Blender.removeFrom(canvas, mask, brush, maskRect, atX - centerX, atY - centerY, 0, 0, flow);
} else {
Blender.removeFrom(canvas, brush, brushRect, atX - centerX, atY - centerY, flow);
}
}
}
img.addCanvasChangedArea((new Rect(brushRect)).moveBy(atX - centerX, atY - centerY).cropBy(img.getRect()));
}

void mhr.appcore.tools.brushlike.BrushLikeTool.drawTo | ( | Image | img,
|  | int | toX,
|  | int | toY
| ) |  |
| inlineinherited

Nakreslí rovnou čáru od poslední souřadnice do zadané souřadnice.

Parameters

  img | Obraz, na který se kreslí.
  toX |
  toY |

Definition at line 146 of file BrushLikeTool.java.

{
NBitmap canvas = img.getCanvas(this);
NBitmap mask = null;
if (img.isMasterMaskActive()) {
mask = img.getMasterMask();
maskRect = mask.getRect();
}
int[][] pts = LinearInt.interpolate(lastX, lastY, toX, toY, spacing);
for (int i = 1; i < pts[0].length; i++) {
drawAt(img, canvas, mask, pts[0][i], pts[1][i]);
}
}

void mhr.appcore.tools.brushlike.BrushLikeTool.endDraw | ( | Image | img,
|  | int | atX,
|  | int | atY
| ) |  |
| inlineinherited

Ukončí kreslení na dané souřadnici. Pokusí se nakreslit čáru na danou souřadnici a pak odešle canvas.

Parameters

  img | Obraz, na který se kreslí.
  atX |
  atY |

Definition at line 165 of file BrushLikeTool.java.

{
NBitmap canvas = img.getCanvas(this);
NBitmap mask = (img.isMasterMaskActive()) ? img.getMasterMask() : null;
drawTo(img, atX, atY);
img.submitCanvas(this, true);
}

void mhr.appcore.tools.brushlike.BrushLikeTool.finalize | ( |  | ) | throws Throwable
| inlineprotectedinherited

Definition at line 118 of file BrushLikeTool.java.

{
dispose();
super.finalize();
}

void mhr.appcore.tools.brushlike.LUTBrush.onCommit | ( | Image | image,
|  | NBitmap | canvas,
|  | NBitmap | tmpLayer,
|  | NBitmap | origLayer,
|  | NBitmap | masterMask,
|  | Rect | src,
|  | int | srcOrigX,
|  | int | srcOrigY
| ) |  |
| inline

Callback, který volá obraz v okamžiku, kdy je kanvas odeslán k provedení finálních úprav.

Po nástroji je požadováno, aby implementoval tuto metodu tak, že v závislosti na stavu obrazu, canvasu, origLayer a masterMask upraví oblast src v origLayer. tmpLayer nebude již dále viditelná.

Parameters

  img | Obraz, na který je nástroj aplikován.
  canvas | Kanvas, který si nástroj vytvořil a upravuje při volání applyTo
  tmpLayer | Dočasná vrstva sloužící k náhledu úprav
  origLayer | Původní vrstva, kterou tmpLayer zastupuje.
  masterMask | Maska výběru, pokud výběr není použitý je null.
  src | Oblast k přerenderování.
  srcOrigX |
  srcOrigY |

Implements mhr.appcore.tools.Tool.

Definition at line 51 of file LUTBrush.java.

{
// Blender.drawTo(blendMode, o, c, color, src, srcOrigX, srcOrigY, opacity);
lut.applyTo(o, c, src, srcOrigX, srcOrigY, opacity);
}

void mhr.appcore.tools.brushlike.LUTBrush.onRender | ( | Image | img,
|  | NBitmap | canvas,
|  | NBitmap | tmpLayer,
|  | NBitmap | origLayer,
|  | NBitmap | masterMask,
|  | Rect | src,
|  | int | srcOrigX,
|  | int | srcOrigY
| ) |  |
| inline

Callback, který volá obraz v okamžiku, kdy je třeba renderovat část obrazu.

Po nástroji je požadováno, aby implementoval tuto metodu tak, že v závislosti na stavu obrazu, canvasu, origLayer a masterMask upraví oblast src v tmpLayer tak, že tmpLayer bude obsahovat náhled aplikace nástroje na origLayer.

Parameters

  img | Obraz, na který je nástroj aplikován.
  canvas | Kanvas, který si nástroj vytvořil a upravuje při volání applyTo
  tmpLayer | Dočasná vrstva sloužící k náhledu úprav
  origLayer | Původní vrstva, kterou tmpLayer zastupuje.
  masterMask | Maska výběru, pokud výběr není použitý je null.
  src | Oblast k přerenderování.
  srcOrigX |
  srcOrigY |

Implements mhr.appcore.tools.Tool.

Definition at line 43 of file LUTBrush.java.

{
o.copyTo(l, src, srcOrigX, srcOrigY);
// Blender.drawTo(blendMode, l, c, color, src, srcOrigX, srcOrigY, opacity);
lut.applyTo(l, c, src, srcOrigX, srcOrigY, opacity);
}

## Member Data Documentation

NBitmap mhr.appcore.tools.brushlike.BrushLikeTool.brush
| inherited

hrot Štětce.

Definition at line 105 of file BrushLikeTool.java.

BrushMode mhr.appcore.tools.brushlike.BrushLikeTool.brushMode
| protectedinherited

Mód štětce.

Definition at line 110 of file BrushLikeTool.java.

Rect mhr.appcore.tools.brushlike.BrushLikeTool.brushRect
| inherited

Předpřipravený obdélník popisující hrot štětce.

Definition at line 106 of file BrushLikeTool.java.

int mhr.appcore.tools.brushlike.BrushLikeTool.centerX
| inherited

Předpočítaný střed štětce.

Definition at line 107 of file BrushLikeTool.java.

int mhr.appcore.tools.brushlike.BrushLikeTool.centerY
| inherited

Předpočítaný střed štětce.

Definition at line 108 of file BrushLikeTool.java.

double mhr.appcore.tools.brushlike.BrushLikeTool.flow
| protectedinherited

Průhlednost štětce.

Definition at line 103 of file BrushLikeTool.java.

final double mhr.appcore.tools.brushlike.BrushLikeTool.flowAsFull = 0.9999
| staticinherited

Definition at line 36 of file BrushLikeTool.java.

final double mhr.appcore.tools.brushlike.BrushLikeTool.flowAsNone = 0.0001
| staticinherited

Definition at line 38 of file BrushLikeTool.java.

int mhr.appcore.tools.brushlike.BrushLikeTool.lastX
| protectedinherited

Souřadnice bodu, kam se kreslilo naposledy.

Definition at line 99 of file BrushLikeTool.java.

int mhr.appcore.tools.brushlike.BrushLikeTool.lastY
| protectedinherited

Souřadnice bodu, kam se kreslilo naposledy.

Definition at line 100 of file BrushLikeTool.java.

LUT mhr.appcore.tools.brushlike.LUTBrush.lut = null
| protected

Definition at line 18 of file LUTBrush.java.

Rect mhr.appcore.tools.brushlike.BrushLikeTool.maskRect
| protectedinherited

Obdélník masky, je zde aby nemusel být předáván parametrem.

Definition at line 112 of file BrushLikeTool.java.

double mhr.appcore.tools.brushlike.BrushLikeTool.opacity
| protectedinherited

Průhlednost kanvasu, její aplikace závisí až na konkrétní implementaci onRender a onCommit.

Definition at line 102 of file BrushLikeTool.java.

double mhr.appcore.tools.brushlike.BrushLikeTool.spacing
| protectedinherited

Spacing štětce. Jedná se o absolutní spacing v px!!!

Definition at line 104 of file BrushLikeTool.java.

The documentation for this class was generated from the following file:

- /home/xxx/eclipse_workspaces/app/appcore/src/mhr/appcore/tools/brushlike/LUTBrush.java