| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
symbols (see setFixedLabelSize()),
This allows convenient instantiation of a Button changing its text (or symbol) when toggled, e.g.:
UISceneDemo03:
+ final Button button = new Button(options.renderModes, fontSymbols,
+ fontSymbols.getUTF16String("play_arrow"), fontSymbols.getUTF16String("pause"),
+ buttonWidth, buttonHeight, buttonZOffset);
+ button.setSpacing(symSpacing, fixedSymSize);
+++
setFixedLabelSize(..):
Sets fixed label font size clipped to range [0 .. 1], defaults to {@code 0, 0}.
Use {@code w=0, h=1} when using single symbols from fixed sized symbol fonts!
Use {@link #setSpacing(Vec2f, Vec2f)} to also set spacing.
The fixed label font size is used as the denominator when scaling.{@code max(fixedLabelSize, fontLabelSize)},
hence reasonable values are either {@code 1} to enable using the given font-size
for the axis or {@code 0} to scale up/down the font to match the button box less spacing for the axis.
|
| |
|
|
|
|
| |
experience, add overridable toggleNotify(..) allowing implementations to react before listener.
|
|
|
|
| |
See commit e5eadcdaa615dbeb762885b50435a1f79d6ca895
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
height exceeding overall CharSequence
TypecastFont using `metrics.getAscentFU() - metrics.getDescentFU()` for ascent used for all undefined and whitespace Glyphs w/o a spatial outline,
leads to a potential exceeding height compared to the actual used
bounding box of the rendered text.
This in turn leads to layout issues, e.g. button labels are placed too low.
Solution:
- Whitespace/Undefined: Drop full height 'metrics.getAscentFU() - metrics.getDescentFU()', b/c of non-existing shape height.
- Otherwise, layout on AABBox or created empty shape would pick up such default hhea-table ascent which might exceed actual string height.
Sideeffect would be if user relies on height of a whitespace.
However, knowing this fact - a user may always pick the hhea-table's ascent metric values as exposed in Font and Font.Metric.
This resolves remaining layout issues, including button labels.
|
| |
|
|
|
|
| |
to preserver footprint ..
|
|
|
|
| |
debugging purposes
|
| |
|
|
|
|
| |
with symbols
|
|
|
|
| |
performance & stability
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
traversing through all Glyphs
See UISceneDemo03
new Button(options.renderModes, fontSymbols, " "+fontSymbols.getUTF16String("pause")+" ", buttonWidth, buttonHeight); // pause
Unicode codepoint symbol is also contained in FontGlyph
|
|
|
|
| |
in UISceneDemo03 via hard coded unicode symbol numbers
|
|
|
|
| |
synchronized for static fontMap field access
|
| |
|
|
|
|
| |
Yeah, for good eyes only .. but enough to label the Greek alphabet :)
|
| |
|
|
|
|
| |
For certain shapes the aspect-ratio shall be kept, e.g. MediaButton etc.
|
|
|
|
| |
setter/getter
|
| |
|
|
|
|
| |
mute and play on un-mute)
|
|
|
|
| |
use direct lambdas for all its other listener
|
|
|
|
|
|
|
|
|
| |
Listener
We already track this state within Scene, i.e. a shape is marked active when pointer is over it and released from active-duty when pointer left.
Scene shall notify the Shape so it can track this state locally
and also forward this event to the user via the typical Shape.Listener callback.
|
| |
|
|
|
|
| |
given, calculated by caller
|
|
|
|
| |
perfect minimum label-z-offset
|
|
|
|
|
|
|
|
| |
audio-volume if not initialized and set it when AudioSink becomes available
Setting the audio volume before initialization shall impact GLMediaPlayer when it becomes initialized.
Further add a query if audio is muted, merely based on volume.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
select (pick) in Z descending order
Picking (select) a shape shall process all shapes in Z descending order,
i.e. top shape first. This is a bug currently.
Note: Picking (selecting) a shape using a (mouse-)pointer device
is active by mouse-moved and not only mouse-clicked.
Therefor, we select shapes by mouse-over.
The active selected shape shall have an elevated Z offset to be rendered on top
of the others on same plane.
- This avoids them being rendered below others while moving them around etc.
- This also avoids flickering of overlapping shapes with mouse over.
- This stabilizes the UI experience
|
|
|
|
|
|
|
| |
starting at 0/0 but at an offset
OK for centered or non-zoomed .. as used w/ FontView01 to show the underline space.
Sure, Fill (zoom) w/o center on offset shapes is tricky and a matter of definition and taste, but in general useless.
|
|
|
|
|
|
|
| |
aligning w/ PMVMatrix4f naming ..
Original name was simply setTransform(..), so now let's keep using the suffix denominating the matrix
while keep the main subject/verb upfront. Was an off reading ..
|
|
|
|
| |
77eab439147af69089fa3ebf07d64ee3b4d67bfd
|
|
|
|
| |
v_in', user can simply get the desired matrix and apply its mulVec*(..) operation
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit 5d6e8a367c03644740187e500c6de5d3ac039d5e
- pmv.glMatrixMode(GLMatrixFunc.GL_PROJECTION);
- pmv.glLoadIdentity();
- pmv.gluPerspective(angle, ratio, zNear, zFar);
- pmv.glTranslatef(0f, 0f, scene_dist);
+ pmv.loadPIdentity();
+ pmv.perspectiveP(angle, ratio, zNear, zFar);
+ pmv.translateMv(0f, 0f, scene_dist);
^^
Was projection matrix.
Fixed.
Note: resolved via TraceGL and comparing output -> P matrix differed,
here translation.
|
| |
|
|
|
|
| |
use '-url YOUR_LOC' for file and URL. MovieSimple: Just use multiple '-url LOC' on commandline to determine window-count and so forth ..
|
|
|
|
| |
WorkerThread, helping to simplify code
|
|
|
|
| |
Group's getShapeCount() ..
|
|
|
|
| |
GlyphShape by adding a BoxLayout w/ Center and parent Group w/ GridLayout FillCenter
|
|
|
|
| |
at least add an empty region to avoid an NPE
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
agnostic (PMVMatrix, Matrix4f, Vec4f, ..)
Math functionality (PMVMatrix, Matrix4f, Vec4f, ..)
- shall be used toolkit agnostic, e.g. independent from OpenGL
- shall be reused within our upcoming Vulkan implementation
- may also move outside of JOGL, i.e. GlueGen or within its own package to be reused for other purposed.
The 'com.jogamp.opengl.util.PMVMatrix' currently also used to feed in GLUniformData
via the toolkit agnostic SyncAction and SyncBuffer
shall also be split to a toolkit agnostic variant.
An OpenGL PMVMatrix specialization implementing GLMatrixFunc can still exist,
being derived from the toolkit agnostic base implementation.
+++
Initial commit .. compile clean, passing most unit tests.
|
|
|
|
| |
addGlyphs(..) loop; Add Margin on glyphShapeBox
|
|
|
|
|
| |
- Remove the negative or positive delta on centered axis.
- Only remove negative offset of non-centered axis (i.e. underline)
|
| |
|
| |
|
|
|
|
| |
requested and avoid double-add.
|
|
|
|
| |
UILayoutGrid01: Add Padding/Non-Padding comparison
|