/DearWidgets

DearWidgets

Primary LanguageC++MIT LicenseMIT

DearWidgets

Collection of draw (from ImDrawList) and widgets. Version 0.0.0.0.1

Incentivise development Patreon

Become a Patron

https://www.patreon.com/SoufianeKHIAT

PR & Discussion are open.

Features

Draw

  • Triangle Pointer {Right, Up, Left, Down}

Used internally for LineSlider

  • Hue Band
  • Luminance Band
  • Saturation Band

Used Internally to implement HueSelector.

  • Color Ring

TODO: Ring HueSelector TODO: Add support for 2D (angle, radius) lambda

  • Custom Color Ring

  • Chromatic Plot{Bilinear, Nearest}
    • Chromatic Point
    • Chromatic Line

  • Convex Mask

Support for ConvexMask, will fail or flip triangle if the shape is not convex. In practice some non-convex shape could work if all vertices are visible from the corner of the BoundingBox Used.

  • DrawColorDensityPlot (aka ShaderToy)

Use carefully that can have impact on your performances for HighRes canvas or/and expensive lambda.

Widgets

  • Hue Selector

Draft

Draft means draft.

Draw

  • ChromaticityPlot

Widgets

  • DragLengthScalar

  • Slider 2D Float A version for Slider2DScaler is available for (Im{S|U}{8,16,32,64}, Float and Double)

  • Slider 2D Int

  • Range Select 2D

  • Slider 3D

  • Grid

  • 2D Move

  • Line Slider (TBD)

Constrains

C++ features used internally:

  • std::string
  • template
  • constexpr
  • if constexpr
  • Lambda from template
  • auto
  • std::vector<float>, std::vector<bool> for isoline