An interactive component that allows editing individual bars in a bar graph visually.
More...
|
| | BarEditor (int num_points) |
| | Constructs a BarEditor for a given number of bars.
|
| |
| virtual | ~BarEditor () |
| | Destructor.
|
| |
| virtual void | init (OpenGlWrapper &open_gl) override |
| | Initializes the OpenGL components used by this editor.
|
| |
| virtual void | render (OpenGlWrapper &open_gl, bool animate) override |
| | Renders the editor including the highlight of the currently hovered bar.
|
| |
| virtual void | destroy (OpenGlWrapper &open_gl) override |
| | Destroys all OpenGL components.
|
| |
| virtual void | resized () override |
| | Called when the editor is resized.
|
| |
| void | mouseMove (const MouseEvent &e) override |
| | Handles mouse move events to update hovered bar.
|
| |
| void | mouseDown (const MouseEvent &e) override |
| | Handles mouse down events. Initiates editing or shows popup menu.
|
| |
| void | mouseUp (const MouseEvent &e) override |
| | Handles mouse up events. Completes editing operation.
|
| |
| void | mouseDrag (const MouseEvent &e) override |
| | Handles mouse drag events. Updates bar values while dragging.
|
| |
| void | mouseExit (const MouseEvent &e) override |
| | Handles mouse exit events. Clears hover state.
|
| |
| void | addListener (Listener *listener) |
| | Adds a listener to receive updates when bars change.
|
| |
| void | setClearValue (float value) |
| | Sets the value used when clearing bars.
|
| |
| void | randomize () |
| | Randomizes all bars using a uniform distribution.
|
| |
| void | clear () |
| | Clears all bars to the clear value.
|
| |
| void | clearRight () |
| | Clears bars to the right of the currently hovered bar.
|
| |
| void | clearLeft () |
| | Clears bars to the left of the currently hovered bar.
|
| |
| void | clearEven () |
| | Clears every even-indexed bar.
|
| |
| void | clearOdd () |
| | Clears every odd-indexed bar.
|
| |
| | BarRenderer (int num_points, bool vertical=true) |
| | Constructs a BarRenderer.
|
| |
| virtual | ~BarRenderer () |
| | Destructor.
|
| |
| void | setColor (const Colour &color) |
| | Sets the color of the bars.
|
| |
| void | setScale (float scale) |
| | Sets the scaling factor for the bars.
|
| |
| void | setOffset (float offset) |
| | Sets an offset applied to the bar positions.
|
| |
| void | setBarWidth (float bar_width) |
| | Sets the relative width of each bar.
|
| |
| void | setNumPoints (int num_points) |
| | Updates the number of points (bars) to display.
|
| |
| float | getBarWidth () |
| | Gets the current bar width factor.
|
| |
| float | xAt (int index) |
| | Gets the x-position of the top-left vertex of the given bar.
|
| |
| float | rightAt (int index) |
| | Gets the x-position of the top-right vertex of the given bar.
|
| |
| float | yAt (int index) |
| | Gets the y-position of the top-left vertex of the given bar.
|
| |
| float | bottomAt (int index) |
| | Gets the y-position of the bottom-left vertex of the given bar.
|
| |
| force_inline void | setX (int index, float val) |
| | Sets the x-position for all vertices of a specific bar.
|
| |
| force_inline void | setY (int index, float val) |
| | Sets the top y-position of a specific bar.
|
| |
| force_inline void | setBottom (int index, float val) |
| | Sets the bottom y-position of a specific bar.
|
| |
| void | positionBar (int index, float x, float y, float width, float height) |
| | Positions a bar at a specific rectangle.
|
| |
| void | setBarSizes () |
| | Updates the bar sizes based on their positions and scaling.
|
| |
| void | setPowerScale (bool scale) |
| | Enables or disables power scaling of bar heights.
|
| |
| void | setSquareScale (bool scale) |
| | Enables or disables square scaling of bar heights.
|
| |
| force_inline float | scaledYAt (int index) |
| | Gets the scaled y-value of a bar at a given index.
|
| |
| force_inline void | setScaledY (int index, float val) |
| | Sets the scaled y-value at a specific index.
|
| |
| force_inline void | setAdditiveBlending (bool additive_blending) |
| | Enables or disables additive blending for the bar rendering.
|
| |
| | OpenGlComponent (String name="") |
| | Constructs an OpenGlComponent.
|
| |
| virtual | ~OpenGlComponent () |
| | Destructor.
|
| |
| virtual void | parentHierarchyChanged () override |
| | Called when the component's parent hierarchy changes.
|
| |
| void | addRoundedCorners () |
| | Adds rounded corners to the component's edges.
|
| |
| void | addBottomRoundedCorners () |
| | Adds rounded corners only at the bottom of the component.
|
| |
| void | renderCorners (OpenGlWrapper &open_gl, bool animate, Colour color, float rounding) |
| | Renders the corner shapes using the given color and rounding amount.
|
| |
| void | renderCorners (OpenGlWrapper &open_gl, bool animate) |
| | Renders corners with default body color and rounding.
|
| |
| virtual void | paintBackground (Graphics &g) |
| | Paints a standard background for the component.
|
| |
| void | repaintBackground () |
| | Requests a repaint of the component's background on the OpenGL layer.
|
| |
| Colour | getBodyColor () const |
| | Retrieves the component's body color.
|
| |
| void | setParent (const SynthSection *parent) |
| | Sets a pointer to the parent SynthSection for skin value lookups.
|
| |
| float | findValue (Skin::ValueId value_id) |
| | Finds a float value from the skin associated with this component's parent.
|
| |
| void | setSkinValues (const Skin &skin) |
| | Applies the skin overrides to this component's colors.
|
| |
| void | setSkinOverride (Skin::SectionOverride skin_override) |
| | Sets a skin override to control the component's color scheme.
|
| |
| force_inline void | checkGlError () |
| | Checks for and asserts that there are no OpenGL errors.
|
| |
| void | setBackgroundColor (const Colour &color) |
| | Sets the background color of the component for painting operations.
|
| |
|
| static bool | setViewPort (Component *component, Rectangle< int > bounds, OpenGlWrapper &open_gl) |
| | Sets the OpenGL viewport to match a specified rectangle within a component.
|
| |
| static bool | setViewPort (Component *component, OpenGlWrapper &open_gl) |
| | Convenience overload that sets the viewport for the entire component's local bounds.
|
| |
| static void | setScissor (Component *component, OpenGlWrapper &open_gl) |
| | Sets the OpenGL scissor region to the entire component's local bounds.
|
| |
| static void | setScissorBounds (Component *component, Rectangle< int > bounds, OpenGlWrapper &open_gl) |
| | Sets the OpenGL scissor region to a specified rectangle within a component.
|
| |
| static std::unique_ptr< OpenGLShaderProgram::Uniform > | getUniform (const OpenGlWrapper &open_gl, const OpenGLShaderProgram &program, const char *name) |
| | Retrieves a uniform from the shader program if it exists.
|
| |
| static std::unique_ptr< OpenGLShaderProgram::Attribute > | getAttribute (const OpenGlWrapper &open_gl, const OpenGLShaderProgram &program, const char *name) |
| | Retrieves an attribute from the shader program if it exists.
|
| |
| static String | translateFragmentShader (const String &code) |
| | Translates a fragment shader code snippet to be compatible with the current GL version.
|
| |
| static String | translateVertexShader (const String &code) |
| | Translates a vertex shader code snippet to be compatible with the current GL version.
|
| |
| static constexpr float | kScaleConstant = 5.0f |
| | A scaling constant used when applying power scaling.
|
| |
| static constexpr int | kFloatsPerVertex = 3 |
| | Number of float values per vertex (x, y, [and potentially other attributes]).
|
| |
| static constexpr int | kVerticesPerBar = 4 |
| | Number of vertices per bar.
|
| |
| static constexpr int | kFloatsPerBar = kVerticesPerBar * kFloatsPerVertex |
| | Number of floats per bar (4 vertices * 3 floats each).
|
| |
| static constexpr int | kTriangleIndicesPerBar = 6 |
| | Number of triangle indices per bar (each bar represented as two triangles).
|
| |
| static constexpr int | kCornerFloatsPerVertex = 2 |
| | Number of corner floats per vertex (used to determine corner coordinates).
|
| |
| static constexpr int | kCornerFloatsPerBar = kVerticesPerBar * kCornerFloatsPerVertex |
| | Number of corner floats per bar.
|
| |
An interactive component that allows editing individual bars in a bar graph visually.
The BarEditor extends BarRenderer to handle mouse events for editing bar values. Users can click and drag to modify bar values, right-click to access a popup menu with various editing options, and perform actions such as clearing ranges or randomizing bar values.