summaryrefslogtreecommitdiffstats
path: root/src/graphui
Commit message (Collapse)AuthorAgeFilesLines
* Graph*: API doc refinementSven Gothel2023-03-301-0/+7
|
* GraphUI Shape: Rename rotOrigin -> rotPivotSven Gothel2023-03-281-18/+18
|
* GraphUI Shape.setTransform(): Fix !sameScaleRotatePivot && hasRotate && ↵Sven Gothel2023-03-281-2/+2
| | | | | | !hasRotPivot: Don't scale pivot back from center-pivot, same as w/ hasRotPivot A copy & paste bug ..
* GraphUI Scene: Added API doc argsSven Gothel2023-03-281-6/+6
|
* GraphUI: Decouple GraphShape from Shape, i.e. allow future Shape w/o ↵Sven Gothel2023-03-2812-212/+366
| | | | Graph/GLRegion
* GraphUI Button: Simplify addShapeToRegion()Sven Gothel2023-03-282-15/+15
|
* GraphUI Label: Add getScaledLineHeight() and refine setFontScale(), i.e. ↵Sven Gothel2023-03-281-3/+21
| | | | only act and markDirty() on change
* GraphUI Label: Remove glyphVisitor's debug code (exception handling)Sven Gothel2023-03-281-10/+2
|
* GraphUI: Label: Enforce bottom-left origin @ 0/0 for good drag-zoom ↵Sven Gothel2023-03-281-3/+4
| | | | experience (working sticky edge)
* GraphUI: Shape: Fix setTransform(): Scale around center and rotate around ↵Sven Gothel2023-03-281-26/+40
| | | | pivot-point or center; Assume Shape origin to be bottom-left for drag-zoom. Removes questionable scale-hack.
* GraphUI: Shape.dispatchMouseEvent(): Rename dsx/dsxy -> sx/sy as they ↵Sven Gothel2023-03-281-7/+7
| | | | denominate whole scale-factor, not their delta
* Graph Font.GlyphVisitor*: Pass 'char symbol' to visitor, passing full ↵Sven Gothel2023-03-281-1/+1
| | | | text-processing information
* Graph Font Processing: Use Font.GlyphVisitor instead of ↵Sven Gothel2023-03-221-3/+8
| | | | OutlineShape.Visitor, allowing to use the Glyph (information).
* GraphUI Shape: Make access private where possible & reasonable, synchronize ↵Sven Gothel2023-03-226-42/+55
| | | | dirty and in draw(..) the whole dirty-validate() region.draw()
* GraphUI Scene: getStatusText(..) drop unset values, be more semantic ↵Sven Gothel2023-03-221-5/+19
| | | | sensitive (msaa -> smsaa)
* GraphUI Scene: Add removeShape*(GL2ES2..) variant w/ their destruction for ↵Sven Gothel2023-03-221-4/+18
| | | | convenience
* GraphUI Scene: Add optional frustum culling (default: disabled)Sven Gothel2023-03-221-13/+23
|
* GraphUI Shape.setTransform(): Remove 'wiggling' w/ origin, text issue came ↵Sven Gothel2023-03-211-12/+4
| | | | | | from Scene.PMVMatrixSetup bug, all shapes resize fine now. Scene.PMVMatrixSetup bug missed modelview initialition before gluUnProject(), fixed in commit 74e11bd9a49f61e49d3c73c4f9b87b4fb7fbaaf3.
* GraphUI: Fix Scene.PMVMatrixSetup impl: Setup modelview before using ↵Sven Gothel2023-03-211-2/+4
| | | | setPlanBox(..)'s gluUnProject(..)
* GraphUI Scene: Move reshape() below init from in-between display() implsSven Gothel2023-03-211-19/+19
|
* Graph: Cleanup Vertex.Factory referencing: Only bind to OutlineShape and use ↵Sven Gothel2023-03-2111-66/+36
| | | | | | | its default. GraphUI: Always use default. Graph RegionRenderer, its RenderState as well as GraphUI's Scene don't need to have knowledge of Vertex.Factory, which is only used within OutlineShape and its 'inner geom workings'.
* GraphUI Shape/Label: Allow validate(..) w/o current GL context, used by e.g. ↵Sven Gothel2023-03-202-13/+76
| | | | | | Label.setText(..) and getBounds(), preparations for more animation. Hence Shape.validate(..) is now synchronized, avoiding parallel resource modding from render- and other animating thread.
* GraphUI Shape: Provide empty default implementation for clearImpl() and ↵Sven Gothel2023-03-205-34/+4
| | | | destroyImpl()
* GraphUI Scene: Add getDefaultVertexFactory(), fix getRenderState() API doc ↵Sven Gothel2023-03-201-2/+6
| | | | (can't be null)
* GraphUI Label: Fix naming semantics: 'pixelScale' -> 'fontScale', i.e. ↵Sven Gothel2023-03-201-13/+33
| | | | font-scale factor, by which the em-sized type glyphs shall be scaled
* GraphUI Scene: Add [add|remove]Shapes(Collection) .. for convenienceSven Gothel2023-03-201-0/+7
|
* GraphUI Shape.setTransform(): Fix center semantics (half size) and consider ↵Sven Gothel2023-03-201-3/+18
| | | | origin (resolves multi-line text resize issues)
* GraphUI Scene: Move GLEventListener implementations reshape() and dispose() ↵Sven Gothel2023-03-201-48/+48
| | | | to the others, init(), display(). Ease review.
* GraphUI MediaButton: Only mark region dirty if already existsSven Gothel2023-03-201-1/+3
|
* GraphUI Default Scene.PMVMatrixSetup: Scale (back) projection to have ↵Sven Gothel2023-03-201-12/+38
| | | | normalized plane dimensions, 1 for the greater of width and height
* GraphUI Scene: Be quietSven Gothel2023-03-201-2/+0
|
* GraphUI GLButton: Add missing destroyImpl(..) to destroy the ImageSequence ↵Sven Gothel2023-03-201-0/+6
| | | | and FBO-GLAD
* GraphUI: Add UISceneDemo00 for linear animation in one main function; ↵Sven Gothel2023-03-191-0/+67
| | | | UISceneDemo01 simply provides shape drag-move and -resize
* GraphUI Shape win<->obj/shape mapping: Return actual int[] or float[] result ↵Sven Gothel2023-03-194-45/+105
| | | | or null on error instead of boolean to easy API usage
* Graph UI Shape: Remove debug println @ mouse drag releaseSven Gothel2023-03-191-1/+0
|
* Graph UI: Apply API changes to demos *WIP* (not all working yet, but compile ↵Sven Gothel2023-03-191-1/+1
| | | | clean)
* Graph UI: Adopt Shape implementations to Shape API changes (simplification)Sven Gothel2023-03-199-34/+28
|
* Graph UI Shape: Fix move and resize via 1-pointer mouse drag: Need to apply ↵Sven Gothel2023-03-191-32/+33
| | | | | | scale on drag-delta, operating on scaled-model-viewpoint Further, on resize, we have different sticky edges for either bottom-right or bottom-left drag resize.
* Graph UI Shape: Fix setTransform(): Take back unscaled-center 1st, then add ↵Sven Gothel2023-03-191-2/+4
| | | | back later (scaled); TODO: Add alignment features
* Graph Shape: Add onMove(Shape.Listener), allowing user to track Shape movementSven Gothel2023-03-191-2/+15
|
* Add Scene.PMVMatrixSetup for programmable PMVMatrix setup in Scene replacing ↵Sven Gothel2023-03-192-280/+301
| | | | | | | | | | | | | | | | | | | fixed projection params; Simplify API requirements .. Scene: - Add Scene.PMVMatrixSetup and use it throughout Scene/Shape for reshape(), setupMatrix() and Shape's win<->obj coordinate mappings. - Default Scene.PMVMatrixSetup is no more moving origin to bottom-left, kept at screen-center. - Add waitUntilDisplayer(), allowing to wait until 1st display is completed, ensuring certain states are well set (init, reshape and 1st display on Shapes, plane-box, ..) Shape: - Rename setPosition() -> moveTo() - Add getBounds(GLProfile) to retrieve AABBox before rendering, - Enhance validateImpl(..) to allow this mode @ initial validation (only)
* Graph Scene: RegionRenderer is owned and never nullSven Gothel2023-03-191-18/+6
|
* Graph Shape: Add missing drawGLSelect(..)Sven Gothel2023-03-191-0/+5
|
* Graph Shape: Mark methods final and enhance API docSven Gothel2023-03-191-28/+55
|
* Graph Scene: Customize clearColor + clearMask used @ display(..), i.e. ↵Sven Gothel2023-03-191-3/+35
| | | | either use custom setting or avoid it at all for seamless client renderer integration
* Graph: Scene: Add experimental pickShapeGL(..), i.e. glSelect (Not working ↵Sven Gothel2023-03-191-10/+117
| | | | correctly with all renderModes yet, inactive; Not good on text)
* Graph: Make RenderState a composition of RegionRenderer, which also creates ↵Sven Gothel2023-03-151-2/+1
| | | | and destroys it. Dropping this also from user (complexity).
* GraphUI: Scene/Shape: Decouple PMVMatrix operations (picking, obj<->win) by ↵Sven Gothel2023-03-153-111/+149
| | | | | | | | using a local instance, enable performing on any thread (not using a blocking GL renderer thread) Shape got 2 win<->obj and size-retrieval variants: (a) using given PMVMatrix and viewport (b) using a local PMVMatrix w/ Scene's viewport and using Scene's setupMatrix()
* GLMediaPlayer usage: Fix verbose strings, disable verbose in GraphUI demosSven Gothel2023-03-151-2/+2
|
* Graph: Have RegionRenderer.reshapeNotify(..) track x/y as well (vieport); ↵Sven Gothel2023-03-142-55/+121
| | | | GraphUI.Scene using RegionRenderer's viewport (no duplicate)