aboutsummaryrefslogtreecommitdiffstats
path: root/src/graphui/classes
Commit message (Collapse)AuthorAgeFilesLines
...
* GraphUI RangeSlider: [add,remove]{->Slider}Listener()Sven Göthel2024-01-151-2/+2
|
* GraphUI RangeSlider: Add SliderAdapter (convenience) and use a ↵Sven Göthel2024-01-152-38/+70
| | | | listener-array (was 1 instance)
* Graph/GraphUI AA-Quality (shader): Region: Add DEFAULT_AA_QUALITY and ↵Sven Göthel2024-01-155-48/+64
| | | | | | | | | | | | | | | | | | | | | | | | clipping funs for aaQuality/sampleCount; TextRegionUtil: Pass quality parameter in draw-functions Region.DEFAULT_AA_QUALITY defaults to MAX_AA_QUALITY still - TODO: AA shader is subject to change .. Region.draw(..) clips the quality param (save) TextRegionUtil: Pass quality parameter in draw-functions - Allowing to select the AA shader GraphUI Scene and some demos add the AA-quality param to the status line or screenshot-filename. - See Region.getRenderModeString(..) +++ TestTextRendererNEWT20 and TestTextRendererNEWT21 now iterate through all fonts, AA-quality shader and sample-sizes. Most demos and some more tests take AA-quality into acount, demos via CommandlineOptions.graphAAQuality
* GraphUI RangeSlider: Fix API doc for implementation detailSven Göthel2024-01-141-2/+2
|
* GraphUI RangeSlider: Position page-sized knob (variant) with value at ↵Sven Göthel2024-01-141-5/+22
| | | | page-start position.
* Bump (c) -2024 for edited files + LICENSE.txtSven Göthel2024-01-141-1/+1
|
* Graph/GraphUI: Revise Graph Region ShaderMapping, fix AABBox-Clipping for ↵Sven Göthel2024-01-144-56/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass2-AA, revise Pass2 AA Quality parameter .. Misc: - Graph VBORegion2PVBAAES2: Drop unused FBO rescale - Move MIN/MAX QUALITY/SAMPLE from GraphUI Scene -> Graph Region +++ Quality -> Pass2 AA Quality - Drop quality field in region - Pass quality to GLRegion.draw(..) similar to sampleCount for dynamic shader and switch - TODO: Pass quality parameter in TextRegionUtil's functions Fix RegionRenderer Shader Mapping - Use ShaderKey class to properly implement the hash value and equals method - For this, TextureSequence.getTextureFragmentShaderHashID() has been added to provide actual shader-snippet for the equals function - All required criterias are included in the hash value and equals method Fix AABBox Clipping for Pass-2 AA - Clipping in pass2-AA must happen in pass2 on actual gcu_PMVMatrix01 (not ortho) +++ GraphUI GraphShape - Rename: [get,set]{->AA}Quality() GraphUI Scene - Rename: mark{All->}ShapesDirty(), set{AllShapes->}Sharpness(), set{AllShapes->AA}Quality() - Fix setSampleCount(..), i.e. markStatesDirty() not markShapesDirty() - Fix setAAQuality(), markShapesDirty() and markStatesDirty(): Use forAll(..) to traverse through all shapes and groups. GraphUI Group - Add setFixedSize() - Add setClipOnBox() - Document setRelayoutOnDirtyShapes(), isShapeDirty()
* GraphUI RangeSlider: Add unitSize param: Size of one unit (element) in ↵Sven Göthel2024-01-122-20/+27
| | | | sliding direction
* GraphUI Margin/Padding: Rename zeroSum*() -> zero*()Sven Göthel2024-01-125-30/+30
|
* Graph Clipping: Initial Region impl of AABBox clipping using GLSL shader ↵Sven Göthel2024-01-091-0/+3
| | | | | | | | | | | | (Convenient using Graph/GraphUI produced AABBox) Simple demo, setting clip-bbox manually: - src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeClippingDemo00.java TODO: - GLSL: Add missing Mv-multiplication of vertex-position -> gcv_ClipBBoxCoord -- AABBox min/max should be set pre-multiplied w/ Mv covering an independent area, not per Shape/Region. -- This to properly work with moving/scaling of each Shape/Region etc
* GraphUI Rectangle: Remove dropping AA_RENDERING_MASK, i.e. allow ↵Sven Göthel2024-01-072-3/+3
| | | | | | | | | | VBAA_RENDERING_BIT again Dropping AA was added in commit eb99bfc27f9f49387cbb08471debcd4d61e4f745, but non-planar rectangles need AA to avoid stairs. Hence manually dropping some AA in MediaPlayer for blending rectangles. RangeSlider already drops AA for its bars etc.
* GraphUI Tooltip: Simplify integration w/ Scene + Shape; Use ↵Sven Göthel2024-01-075-66/+101
| | | | | | | | | | Shape.setToolTip(Tooltip) for generic usage; Add TooltipText colors. Shape also takes care of setting Tooltip's tool-Shape (itself), simplifying Tooltip ctor and having it more independent from Scene/Shape. Tooltip also drop Scene reference, as it shall be passed from Scene caller at Tooltip.createTip(..)
* GraphUI Button.setLabelColor(..): Add alpha channel and variant w/ Vec4f for ↵Sven Göthel2024-01-072-5/+15
| | | | flexibility
* GraphUI Shape: Ease Tooltip managment via Scene: Only started Tooltip is ↵Sven Göthel2024-01-073-22/+15
| | | | required to tick(), drop List<Tooltip>
* GraphUI Shape: Enable Tooltip (currently text only) to be displayed after ↵Sven Göthel2024-01-075-6/+289
| | | | | | | | | | | | | | | delay w/o mouse-move (1s) For efficiency, all Tooltip instances is hooked to Scene via Shape as well as its singleton pop-up HUD tip after delay and no mouse move. TooltipText is a simple text Button implementation, but other more fancy HUD tips can be implemented. Shape adds - 'public Tooltip setToolTip(final CharSequence text, final Font font, final float scaleY, final Scene scene)' Demoed within MediaPlayer widget.
* GraphUI RangeSlider.addMark(): Return the mark-shape and use double itemLen ↵Sven Göthel2024-01-071-10/+21
| | | | (in sliding direction) for better visibility
* GraphUI MediaPlayer / GLMediaPlayer: Add current chapter-title to info-fieldSven Göthel2024-01-072-4/+10
|
* GraphUI Shape: Maintain multiple Activation Listener (ArrayList instead of ↵Sven Göthel2024-01-073-13/+40
| | | | | | | single instance) This allows listenting to activation of Group members, while Group is set to widget-mode. For the latter, Group adds a forward listener to itself.
* GraphUI Cleanup: Simplify Shape.draw*() and ↵Sven Göthel2024-01-075-147/+143
| | | | | | | | | | | | | Container.{add,remove*}Shape[s](); Remove Scene.setDebugBorderBox() Simplify Shape/Scene - Split scene.display()/shape.drawImpl0() and scene.displayGLSelect()/shape.drawToSelectImpl0() Simplify Container (Scene/Group) - {add,remove*}Shape[s](), i.e. drop unusual removeShape*() and simplify implementation Scene - Remove setDebugBorderBox()
* GraphUI RangeSlider: Add rectangular marks (e.g. for chapters, see ↵Sven Gothel2023-12-312-54/+87
| | | | | | MediaPlayer), by simply overlay marks on bar Knob color defaults to 0.80f, 0.80f, 0.80f, 0.7f, i.e. light-mode better matching MediaPlayer use-case.
* GraphUI Group: Fix layout w/ zero shapes (empty), i.e. set AABBox to zeroSven Gothel2023-12-311-1/+3
|
* GraphUI MediaButton: Add clearImpl(..), stopping and rewinding streamSven Gothel2023-12-301-0/+5
|
* GLMediaPlayer/FFMPEGMediaPlayer: Add chapter metadata support and use ↵Sven Gothel2023-12-301-36/+10
| | | | | | | | com.jogamp.common.av.PTS.millisToTimeStr(..) Chapter metadata is now supported via our FFMPEGMediaPlayer implementation. Added public method: 'Chapters[] GLMediaPlayer.getChapters()'
* GraphUI RangeSlider Widget: Add rectangular page-sized knob mode using a ↵Sven Gothel2023-12-242-75/+357
| | | | | | 'page size' of covered view. Resolve color-setup. Tested with FontView01
* GraphUI MediaPlayer Widget: Issue playStream(..) and setTextureUnit(..) by ↵Sven Gothel2023-12-241-11/+1
| | | | caller, reducing specification
* GraphUI Shape: Allow overriding of setColor(..) and setPressedColorMod(..)Sven Gothel2023-12-241-3/+3
|
* GraphUI Scene/Shape: Add KeyListener for activeShapeSven Gothel2023-12-242-6/+98
|
* Bug 805: GraphUI: Add Widget 'marker' (a Group), derived by {MediaUI01 -> ↵Sven Gothel2023-12-193-113/+476
| | | | | | | | | | | | | MediaPlayer} and new RangeSlider - A widget specifies specific UI semantics including individual controls. - Being a {@link Group}, implementations provide shape(s) and its instance can be added to the user's scene. - Due to the specific nature of widgets, individual controls/listener may be provided with semantic values. +++ MediaPlayer exposes a RangeSlider for current position (view and control).
* GraphUI Shape Rectangle: Draw simple filled rect if lineWidth==0, drop ↵Sven Gothel2023-12-191-7/+8
| | | | AA_RENDERING_MASK from renderModes (not necessary for a rect)
* GraphUI Group: Allow override of clearImpl0() and destroyImpl0()Sven Gothel2023-12-191-5/+5
|
* GraphUI Shape: Unify 'resetState()' for clear and destroy, refine API docSven Gothel2023-12-191-16/+22
|
* GraphUI Shape: setParent() pp -> protected, allow to override setName()Sven Gothel2023-12-191-6/+6
|
* GraphUI Shape.move*(): Don't notify MotionListener on programmatic move.Sven Gothel2023-12-191-11/+16
|
* Bug 805: GraphUI: Add MediaUI01 widtget (MediaButton w/ full feature ↵Sven Gothel2023-12-181-0/+551
| | | | controls), used in demos UIMediaGrid0[01]
* Bug 805: GraphUI: Add Group.replaceShape(..) and Shape.getParent()Sven Gothel2023-12-183-2/+42
| | | | | | | | Group.replaceShape(..) allows replacing a shape w/o disturbing a layout, e.g. to zoom one element by taking it out of a grid-group and placing it on-top of the Scene while using a placeholder in the grid until returned. Shape.getParent() - depending on use-case (w/o DAG) - allows access and control of a shape's Group.
* Bug 805: GraphUI Scene/Shape Pick-Active/Interaction: Pick shall complete ↵Sven Gothel2023-12-182-142/+156
| | | | | | | | | | | | | | | | traversion for most inner interactive shape; ... Pick shall complete traversion for most inner interactive shape - Shape::dispatchMouseEvent() is only invoked for interactive shapes, impl. simplified. - Remove 'Scene::dispatchMouseEvent(..)', use 'Scene::dispatchMouseEventPickShape(..)' for given use cases - Scene::dispatchMouseEventForShape(..) used for mouseDragged() only, i.e. using activeShape. +++ This allows a 'group widget' being used, allowing to click on inner shapes like a button.
* Bug 805: GraphUI Group: Add 'widget-mode' used to utilize a group as one ↵Sven Gothel2023-12-182-2/+66
| | | | | | | | | visible UI widget element (activation, visibility) Enabled widget behavior for a group causes - the whole group to be shown on top on (mouse over) activation of one of its elements via getAdjustedZ() - this group's onActivation(Listener) to handle all it's elements activation events - isActive() of this group and its sub-groups to return true if one of its elements is active
* GraphUI Shape: Fix Z{Ascending,Descending}Comparator using and exposing ↵Sven Gothel2023-12-181-16/+31
| | | | | | | getAdjustedZ() getAdjustedZ() simply returns `position.z() * getScale().z() + zOffset`, i.e. with added zOffset reflecting activation status (renders shape/group on top).
* GraphUI Container: Cleanup or Group/Scene add*/remove* methodsSven Gothel2023-12-182-17/+55
|
* GraphUI Shape: Rename is{Container -> Group}(), denoting a group onlySven Gothel2023-12-182-3/+3
|
* GraphUI Padding, Margin, Gap: Use zero value constant None instead of ↵Sven Gothel2023-12-186-21/+21
| | | | default ctor
* GraphUI Alignment: Use Alignment.None instead of default ctor.Sven Gothel2023-12-182-7/+7
|
* GraphUI MediaButton: Disable AA_RENDERING_MASK for GLMediaPlayer color ↵Sven Gothel2023-12-181-1/+2
| | | | | | | | | texture (effiency, less artifacts) 2-pass Graph-AA is not desired for video textures to enhance efficiency and reduce artifacts. Consider using 'mPlayer.setTextureMinMagFilter( new int[] { GL.GL_LINEAR, GL.GL_LINEAR } )' of passed GLMediaPlayer instance to use bilinear filtering for different sizes.
* GraphUI Shape: Rename [set|is]{Enabled -> Visible}(..) for claritySven Gothel2023-12-185-14/+20
| | | | | Note that invisible shapes are still considered for picking/activation. To completely mute the shape, issue {@link #setInteractive(boolean)} as well.
* GraphUI Shape/Group: Group.isActive() also returns true if any child is ↵Sven Gothel2023-12-122-1/+12
| | | | active; Add isContainer() to avoid rfeflection
* GraphUI Shape: Use Shape.MoveListener for Shape.onMove(..) providing more ↵Sven Gothel2023-12-121-18/+27
| | | | details of the translation
* GraphUI Shape: Add IO_ACTIVABLE stateSven Gothel2023-12-121-17/+38
|
* GraphUI Shape: Simplify setIO(..) usage (private)Sven Gothel2023-12-121-7/+7
|
* GraphUI Scene: Allow attaching GLAutoDrawable manually and adding ↵Sven Gothel2023-12-041-2/+26
| | | | GLEventListener (API)
* GraphUI Shape: Complete commit c8ec6fa7cc16a0777db16af8b4d0d0b898f8b546Sven Gothel2023-10-031-2/+13
|