summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* GraphUI Demo UISceneDemo03: Add kerning and compensate on label 0/0 origin ↵Sven Gothel2023-03-281-8/+22
| | | | using Glyph bounds minY()
* GraphUI Demo UISceneDemo02: Use em-sized label w/ scale.Sven Gothel2023-03-281-8/+8
|
* GraphUI: Decouple GraphShape from Shape, i.e. allow future Shape w/o ↵Sven Gothel2023-03-2818-303/+465
| | | | 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 RenderState: Add setColorStatic(float[]) variantSven Gothel2023-03-281-0/+3
|
* Graph Font.GlyphVisitor*: Pass 'char symbol' to visitor, passing full ↵Sven Gothel2023-03-285-11/+12
| | | | text-processing information
* Graph Font.Glyph: Add getFont() (the owner)Sven Gothel2023-03-282-0/+8
|
* GraphUI Demos: Remove unused GPUUISceneTextAnim01Sven Gothel2023-03-281-303/+0
|
* Graph FontScale: Simplify names, fix API doc and add unit testSven Gothel2023-03-2811-36/+173
|
* Graph Font: Rename getBBox*() -> getBounds*() to preserve a common semantic nameSven Gothel2023-03-276-17/+17
|
* Graph: Fix Font.getGlyphBoundsFU(): FU of advance is requested here.Sven Gothel2023-03-271-1/+1
| | | | Regression from commit a5d593478afa2298282a0624b2490fde84c3a292
* Quaternion: Shorten toString() type nameSven Gothel2023-03-271-1/+2
|
* GraphUI Demos: (Text) Type Animation ...Sven Gothel2023-03-222-0/+697
|
* UISceneDemo0[01]: Useless minor editing (can't move animator lower as sadly ↵Sven Gothel2023-03-222-2/+1
| | | | used in our window dtor event handler)
* Add Vec2f and Vec3f, to support a more simple OO vector-math usage, e.g. for ↵Sven Gothel2023-03-222-0/+528
| | | | | | | | animation etc Implementation borrowed my 'gfxbox2' C++ project <https://jausoft.com/cgit/cs_class/gfxbox2.git/tree/include/pixel/pixel3f.hpp#n29> and its layout from OpenAL's Vec3f.
* Graph: Remove OutlineShape.Visitor* as being replaced by Font.GlyphVisitorSven Gothel2023-03-222-24/+1
| | | | (We may ressurect them if needed for a future use case)
* Graph Font Processing: Use Font.GlyphVisitor instead of ↵Sven Gothel2023-03-227-35/+90
| | | | OutlineShape.Visitor, allowing to use the Glyph (information).
* Graph Font Processing: Produce a 'whitespace' Glyph w/ an OutlineShape (box) ↵Sven Gothel2023-03-223-5/+76
| | | | to allow better handling of such non-contour symbols.
* GraphUI Demos: Adopt to shapesSharpness -> oshapesSharpness renameSven Gothel2023-03-227-7/+7
|
* 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-213-6/+12
| | | | setPlanBox(..)'s gluUnProject(..)
* GraphUI Scene: Move reshape() below init from in-between display() implsSven Gothel2023-03-211-19/+19
|
* GraphUI UISceneDemo20: Consolidate the actual implementation and main ↵Sven Gothel2023-03-214-229/+197
| | | | launcher to our new UISceneDemo naming series
* GraphUI UISceneDemo*: Stop animation loop if window got destroyedSven Gothel2023-03-212-4/+4
|
* NEWTEvent*.getEventTypeString(): Like MouseEvent, drop redundant leading ↵Sven Gothel2023-03-213-11/+11
| | | | type in returned string
* GraphUI UISceneDemo*: Add windowResized() callback to update window title ↵Sven Gothel2023-03-213-5/+12
| | | | showing current surfaceSize
* GraphUI UISceneDemo*: Use lambdas for GLAutoDrawable.invoke(..) to reduce LOCSven Gothel2023-03-213-12/+13
| | | | GLAutoDrawable.invoke(..) API doc: Add semantics about GLRunnable return value.
* Graph: Cleanup Vertex.Factory referencing: Only bind to OutlineShape and use ↵Sven Gothel2023-03-2134-225/+142
| | | | | | | 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-2010-74/+4
| | | | destroyImpl()
* GraphUI Scene: Add getDefaultVertexFactory(), fix getRenderState() API doc ↵Sven Gothel2023-03-201-2/+6
| | | | (can't be null)
* GLArrayDataClient: Allow null buffer @ growIfNeeded(), removed from commit ↵Sven Gothel2023-03-201-20/+1
| | | | | | 90a95e6f689b479f3c3ae3caf4e30447030c7682 A null buffer is possible in case initialElementCount at ctor is <= 0
* Rename UISceneDemo{02->10}Sven Gothel2023-03-201-2/+2
|
* 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 Demos: Bring back GPUUISceneGLListener0A ..Sven Gothel2023-03-201-71/+104
| | | | | | | | | | | | | | | | | | | | - Contrary to UISceneDemo0[01], here we - Call the Scene GLEventListener methods manually - Issue glClear* ourselves - Using own PMVMatrixSetup - gluPerspective like Scene's default - no normal scale to 1, keep distance to near plane for rotation effects. We scale Shapes - translate origin to bottom-left - Scale Button not by screen-size but Scene.getBounds() dimension, hence issue setupUI() from reshape() and not from init() - GLButton: Using additional view-rotation like UISceneDemo01 - Multi-line text labels resize issues are - Supposed sticky-edge is moving (Sticky-edge are the opposites of the picked drag point)
* GraphUI UISceneDemo01: Stop rotating animation if GLButton animation is ↵Sven Gothel2023-03-201-22/+22
| | | | toggled off
* 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
|
* UISceneDemo02: The 'dirty' variant w/ listener (printf) attachedSven Gothel2023-03-201-250/+85
|