aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* GraphUI MediaButton: Return this for chaining on setterSven Gothel2023-09-241-2/+3
|
* GLMediaPlayer: Stop audio streaming to AudioSink on zero volume (Flush on ↵Sven Gothel2023-09-242-2/+10
| | | | mute and play on un-mute)
* UISceneDemo20 Use onToggle(..) for media-button (audio on/off) as well as ↵Sven Gothel2023-09-241-29/+17
| | | | use direct lambdas for all its other listener
* Bug 1459 - GraphUI Shape: Add active (pointer over/left) state and callback ↵Sven Gothel2023-09-242-6/+52
| | | | | | | | | 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.
* Bug 1454 - GraphUI Scene: Make active ZOffset scale configurableSven Gothel2023-09-241-2/+7
|
* GraphUI Button: Remove redundant ctors and methods. ZOffset shall be simply ↵Sven Gothel2023-09-241-68/+0
| | | | given, calculated by caller
* UISceneDemo20: Set proper z-epsilon for all Buttons on reshape to use the ↵Sven Gothel2023-09-241-0/+4
| | | | perfect minimum label-z-offset
* Bug 1455 - GLMediaPlayer: Add isAutioMuted() query on volume and earmark ↵Sven Gothel2023-09-232-5/+25
| | | | | | | | 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.
* Bug 1454 - GraphUI Scene: Elevate active (selected) shape (add z-offset) and ↵Sven Gothel2023-09-232-1/+28
| | | | | | | | | | | | | | | | | 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
* GraphUI Layout: Add UILayoutBoxGridOffset01, showing behavior w/ shapes not ↵Sven Gothel2023-09-231-0/+373
| | | | | | | 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.
* Bug 1452: GraphUI Shape: Rename setMvTransform(..) -> setTransformMv(..), ↵Sven Gothel2023-09-2311-54/+54
| | | | | | | 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 ..
* GLMediaPlayerImpl: Recover lost StreamException information from commit ↵Sven Gothel2023-09-231-5/+17
| | | | 77eab439147af69089fa3ebf07d64ee3b4d67bfd
* Bug 1452: PMVMatrix4f: Drop redundant unused mulWith*(Vec*...) 'v_out = M * ↵Sven Gothel2023-09-231-102/+0
| | | | v_in', user can simply get the desired matrix and apply its mulVec*(..) operation
* GraphUI Button.getSubString(): Expose labelZOffsetSven Gothel2023-09-231-1/+1
|
* Bug 1452: GraphUI Scene DefaultPMVMatrixSetup.set(): Fix regression of ↵Sven Gothel2023-09-231-1/+1
| | | | | | | | | | | | | | | | | | | 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.
* OculusVR: Adapt to latest GlueGen changesSven Gothel2023-09-222-6/+6
|
* Demos MovieSimple, MovieCube: Use Uri.tryUriOrFile(..) and have user just ↵Sven Gothel2023-09-222-39/+20
| | | | use '-url YOUR_LOC' for file and URL. MovieSimple: Just use multiple '-url LOC' on commandline to determine window-count and so forth ..
* GLMediaPlayerImpl: Replace StreamWorker thread management with GlueGen's new ↵Sven Gothel2023-09-221-222/+97
| | | | WorkerThread, helping to simplify code
* GraphUI Demo FontView01: Re-add Margin for glyphInfoBox (text) and use ↵Sven Gothel2023-09-201-3/+3
| | | | Group's getShapeCount() ..
* GraphUI Test: FontViewListener01: Align to FontView01 .. fix invsible ↵Sven Gothel2023-09-202-28/+33
| | | | GlyphShape by adding a BoxLayout w/ Center and parent Group w/ GridLayout FillCenter
* GraphUI GlyphShape.addShapeToRegion(): In case the Font.Glyph has no shape, ↵Sven Gothel2023-09-201-0/+3
| | | | at least add an empty region to avoid an NPE
* GraphUI Container: Add getShapeCount() and add API doc ..Sven Gothel2023-09-203-6/+15
|
* Bug 1452 - Decouple math functionality to 'com.jogamp.math' to be toolkit ↵Sven Gothel2023-09-20188-2400/+3487
| | | | | | | | | | | | | | | | | | | | 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.
* GraphUI Demo Fontview: Fix '-showUnderline' mode; Fix and simplify ↵Sven Gothel2023-09-191-17/+7
| | | | addGlyphs(..) loop; Add Margin on glyphShapeBox
* GraphUI Layout (Box/Grid): Adjust bottom-left offset according to center-axisSven Gothel2023-09-192-6/+44
| | | | | - Remove the negative or positive delta on centered axis. - Only remove negative offset of non-centered axis (i.e. underline)
* GraphUI Demo FontView: Prescan available countour glyphs for fluent scrolling ..Sven Gothel2023-09-191-38/+40
|
* GraphUI GridLayout: Disable TRACE_LAYOUTSven Gothel2023-09-191-1/+1
|
* GraphUI GridLayout: Fix scaled non-center: Only add center offset if ↵Sven Gothel2023-09-192-26/+23
| | | | requested and avoid double-add.
* GraphUI Layout Tests: Use blue for group border and black for shape border; ↵Sven Gothel2023-09-192-32/+70
| | | | UILayoutGrid01: Add Padding/Non-Padding comparison
* FontView01: Have all layout performed by our Box/Grid-Layout classes w/o ↵Sven Gothel2023-09-171-147/+259
| | | | | | | | manual calculus (the goal) In some cases we still query a previous added box for width or height though. But in general, using the Group w/ Box- or GridLayout and Fill/Center relieves us from manually scaling things.
* GraphUI Label: Add convenient methods getUnscaledGlyphBounds(..)Sven Gothel2023-09-171-0/+12
|
* GraphUI Layout: Remove unused leftover var and complete GridLayout ctorSven Gothel2023-09-172-3/+12
|
* GraphUI GlyphShape: Add copy-ctor variantSven Gothel2023-09-161-0/+17
|
* Debug.debugExplicit(): Define and use explicit symbol debug flag; Use it for ↵Sven Gothel2023-09-1610-15/+32
| | | | certain debug output to keep most silence for debugAll()
* GraphUI BoxLayout: Margin is only ignored for center Alignment w/o Fill ↵Sven Gothel2023-09-166-102/+114
| | | | | | | | | | | | | | | | | | | | | scale. {Box,Grid}Layout: Always remove Bottom-Left delta and refine API doc of incl scale behavior GraphUI BoxLayout: Margin is only ignored for center Alignment w/o Fill scale. Margin outside of a shape is not scaled and hence must be considered when using Fill scale. {Box,Grid}Layout: Always remove Bottom-Left delta Previously we were only dropping the negative extend. However, since our scale and center algo uses the AABBox width and height, which excludes the bottom-left delta, we have to drop such offset. TODO: Otherwise, we would need adjust for the bottom-left extend when NOT centering for each direction! This might be a useful enhancement in case one likes to drop shapes as-is w/o centering. {Box,Grid}Layout: Refine API doc of incl scale behavior
* GraphUI Group.validateImpl(): Pick RenderMode for border from 1st Shape if ↵Sven Gothel2023-09-161-1/+12
| | | | | | required (hasBorder() and null border yet) This avoid changing the RenderMode and hence actual shader rendering the item.
* GraphUI Group: Override isShapeDirty(), performing a deep dirty state update ↵Sven Gothel2023-09-162-1/+14
| | | | on all group member to allow validate to function
* GraphUI Layout: Fix BoxLayout scale, margin and padding; Add same padding ↵Sven Gothel2023-09-057-577/+950
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | behavior to BoxLayout and GridLayout. For all: - Padding is applied to each {@Shape} via {@link Shape#setPaddding(Padding)} if passed in constructor BoxLayout: - Optionally centered {@link Alignment.Bit#CenterHoriz horizontally}, {@link Alignment.Bit#CenterVert vertically} or {@link Alignment#Center both}. - Optionally scaled to cell-size if given and {@link Alignment#Fill} - Margin is ignored on dimension with center {@link Alignment} - Not implemented {@link Alignment}: Top, Right, Bottom, Left GridLayout: - Optionally centered {@link Alignment.Bit#CenterHoriz horizontally}, {@link Alignment.Bit#CenterVert vertically} or {@link Alignment#Center both}. - Optionally scaled to cell-size if given and {@link Alignment#Fill} - Without cell-size behaves like a grid bag using individual shape sizes including padding - Can be filled in {@link Order#COLUMN} or {@link Order#ROW} major-order. - Not implemented {@link Alignment}: Top, Right, Bottom, Left Changes to Group.Layout interface: - Added preValidate(Shape) allowing to prepare the shape before validation, used to inject Padding Changes to Margin: - Removed the complex CENTER property and using Alignment in BoxLayout as well Changes to BoxLayout: - Using Alignment +++ Tested via UILayoutBox01 and UILayoutGrid01, try the tooltip by clicking on the group's description label.
* GraphUI Layout: Html'ify API header of Gap and PaddingSven Gothel2023-09-052-2/+4
|
* GraphUI Layout Alignment: Separate center alignment to horizontal and verticalSven Gothel2023-09-051-8/+11
|
* GraphUI Shape: Add setScale(..) and scale(..) with Vec3f for convenience; ↵Sven Gothel2023-09-051-2/+20
| | | | Add border-color in toString() if hasBorder()
* GraphUI Scene: Add invoke(boolean wait, GLRunnable) for convenience using ↵Sven Gothel2023-09-051-0/+21
| | | | GLAutoDrawable.invoke(..)
* GraphUI Scene: Only set dbgBorderThickness on shape if not zero and shape ↵Sven Gothel2023-09-051-1/+3
| | | | has no border yet, i.e. don't override
* GraphUI: Use z-top of bounding box for border rectangle, not z-centerSven Gothel2023-09-051-6/+6
|
* FloatUtil.abs(a): Mark as deprecated, use Math.abs(a) directly. We assume it ↵Sven Gothel2023-09-046-15/+22
| | | | | | | | | | | | | | | | is an intrinsic + branch-less implementation Expected implementation is - return Float.intBitsToFloat(Float.floatToRawIntBits(a) & 0x7fffffff); replacing old implementation - return (a <= 0.0F) ? 0.0F - a : a; .. also market as @IntrinsicCandidate Hence we shall leave it to the JRE core-lib implementation...
* GraphUI Margin, Alignment: Reuse ctor for default-ctorSven Gothel2023-09-042-2/+2
|
* GraphUI: Button/Label: Complete String -> CharSequence type change for text, ↵Sven Gothel2023-09-0410-24/+17
| | | | rename Button set{Label->Text}(..), adjust demo/text code
* GraphUI GraphShape: Split renderModes -> final renderModesReq + mutable ↵Sven Gothel2023-09-041-2/+26
| | | | renderModes, allowing the latter to be adjusted e.g. in case a color-channel is required
* GraphUI Enhance: API doc; Scene/Button Z-offset and -epsilon; Push temp ↵Sven Gothel2023-09-049-54/+243
| | | | AffineTransform to local method; Simplify BaseButton setCorner(0) -> setPerp(); Protected abstract ctor ..
* GraphUI Button: Add label bounds to own shape (adds used z-range)Sven Gothel2023-09-031-0/+2
|