| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
addShapeToRegion() impl to utilize OutlineShape -> GLRegion ctor w/ proper buffer-size
This way we avoid unnecessary buffer growth and allow creation of 'always' fitting buffer sizes.
+++
Update or freshly create the GLRegion, while allocating its buffers with given initial `vertexCount` and `indexCount`.
Method shall be invoked by the addShapeToRegion(GLProfile, GL2ES2) implementation before actually adding the OutlineShape to the GLRegion.
addShapeToRegion(GLProfile, GL2ES2) is capable to determine initial `vertexCount` and `indexCount` buffer sizes,
as it composes the OutlineShapes to be added.
updateGLRegion(GLProfile, GL2ES2, TextureSequence, OutlineShape) maybe used for convenience.
In case GLRegion is `null`, a new instance is being created.
In case the GLRegion already exists, it will be either cleared if the GL2ES2 `gl` instance is not `null`
or earmarked for deletion at a later time and a new instance is being created.
|
|
|
|
|
|
|
|
|
|
| |
increase default initial 16->64 (unsued)
- Region.countOutlineShape(..) now returns unpatched 3*triangle value for indices, avoiding grow
- TextRegionUtil.addStringToRegion() uses countStringRegion(..) per default
- Added GLRegion.create(.., OutlineShape) for convenience, using Region.countOutlineShape(..)
- Refined API doc
-
|
| |
|
| |
|
|
|
|
| |
(16) + Label-Text to avoid buffer grow
|
|
|
|
|
|
|
|
|
|
|
| |
and the optional colors (GPU effeciency and performance; Increased CPU buffer growth performance)
Besides simplification, interleaved GPU memory boosts
- effeciency
- performance
Since only one underlying backing buffer on the CPU (host) has to be managed,
it also increases buffer growth performance.
|
|
|
|
| |
instead of just GLArrayData interface, exposing and allowing mutable access to attribute location for interleaved sub-arrays
|
|
|
|
| |
BITHINT_GLOBAL_DEPTH_TEST_ENABLED usage -> To be investigated.
|
|
|
|
|
|
| |
since (huge) text glyph gets always pre-calculated.
Region.countOutlineShape() indices ceiling raised from 60% to 90% of vertices, otherwise gets exceeded too often later on.
|
|
|
|
| |
all related methods. Add growCount stat.
|
|
|
|
| |
if disabled.
|
|
|
|
|
|
|
|
| |
TextRegionUtil.addStringToRegion() grow region buffer w/ counting (as well); GLRegion.create(..) count + reuse create(.., size) static-ctor
All supported string -> region method utilize pre-calc of size and growth!
Before, GraphUI's Label0 used TextRegionUtil.addStringToRegion() and hence missed this optimization path.
|
|
|
|
|
|
|
|
| |
rectangle or oval shape)
- Button + BaseButton setter also pass this for chaining
- Button {twoPassLabel->label}ZOffset, investigate whether z-offset still required (not if blending is enabled!)
-
|
|
|
|
| |
matching getGlyphBounds()
|
|
|
|
|
|
| |
to match old screenshots for regression test.
No rendering regressions w/ last Graph changes found.
|
|
|
|
| |
Padding and alignment (Margin?) (CSS alike)
|
| |
|
|
|
|
| |
overlaps.contains(..) test
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
instead of float[] and remove unused VectorUtil methods
After Matrix4f consolidation and proving same or better performance on non array types,
this enhances code readability, simplifies API, reduces bugs and may improve performance.
GraphUI:
- Have RoundButton as a functional class to make a round or rectangular backdrop,
i.e. impl. addShapeToRegion() via reused addRoundShapeToRegion()
|
| |
|
|
|
|
| |
filename (documentation)
|
| |
|
|
|
|
| |
from actual Glyph metrix
|
|
|
|
|
|
|
|
|
|
| |
instance) + details in text, active via mouse-click
The GlyphShape instance will be reused in this use-case, i.e. once in the 'mainGrid'
and if selected, in the 'infoGrid'.
This also demos our DAG capability.
Further textual details are also shown in the text label.
|
|
|
|
|
|
|
| |
Shape.ZAscendingComparator
- fixes z-order issue, as we shall do same approach as in Scene.display()
- fixes mutated container issue if a Shape gets removed or added to original List
|
|
|
|
| |
removeShape(index) variant; Group.(add|remove)Shape(..) markShapeDirty() to recompute bbox and layout.
|
|
|
|
| |
isWhiteSpace = true, use emptyShape
|
| |
|
|
|
|
| |
all Outlines
|
| |
|
|
|
|
| |
(OTFont,Font).getGlyphCount()
|
| |
|
|
|
|
| |
resolution independent for display same size.
|
|
|
|
| |
FontView01 demos) rendering a grid of each glyph for better validation for many fonts and renderModes/sampleCount
|
|
|
|
| |
defined and scale group accordingly
|
| |
|
| |
|
| |
|
|
|
|
| |
applicable, restructure screenshot(..) by using nextScreenshotFile(..) - all using default tech representation
|
|
|
|
| |
even a Glyph was mapped to the ID
|
|
|
|
| |
getRenderModeString(renderModes, graphSampleCount, fsaaSampleCount) for unified tech representation
|
|
|
|
| |
call. FontView stays open and issues a screenshot.
|
|
|
|
| |
FontForge' ;-)
|
|
|
|
| |
shape to cell (like GlyphShape w/ underline)
|
| |
|
| |
|
|
|
|
| |
by Shape spec
|
|
|
|
| |
.. or how to propagate a typo from an initial test case to all of 'em ;-)
|
|
|
|
|
|
|
|
|
|
| |
UISceneDemo20 with button Groups
All layout magic is simply performed in Group.Layout.layout(..) @ validate, incl. updating the
bounding box to have the padding included.
This demonstrates GraphUI's capability to be used with correct layout,
i.e. its pure matrix based position, scale and rotation.
|