From fb3ee2aa46614b6c6f66e0db9e1976093e9a0cba Mon Sep 17 00:00:00 2001 From: olilarkin Date: Sat, 30 Nov 2024 23:50:24 +0000 Subject: [PATCH] deploy: iPlug2/iPlug2@3d6a38d4da84d1ac04c26d6fc6246ac5ef8f180f --- _i_controls_8cpp_source.html | 2324 ++++++++++--------- _i_controls_8h.html | 2 +- _i_controls_8h_source.html | 1293 +++++------ _i_v_tabbed_pages_control_8h_source.html | 2 +- class_i_b_button_control.html | 10 +- class_i_b_knob_control.html | 12 +- class_i_b_knob_rotater_control.html | 10 +- class_i_b_meter_control.html | 22 +- class_i_b_slider_control.html | 18 +- class_i_b_switch_control.html | 14 +- class_i_b_text_control.html | 20 +- class_i_bitmap.html | 8 +- class_i_bitmap_base.html | 4 +- class_i_byte_stream.html | 2 +- class_i_control.html | 38 +- class_i_graphics.html | 46 +- class_i_knob_control_base.html | 4 +- class_i_param.html | 4 +- class_i_s_v_g_button_control.html | 16 +- class_i_s_v_g_knob_control.html | 8 +- class_i_s_v_g_slider_control.html | 18 +- class_i_s_v_g_switch_control.html | 8 +- class_i_s_v_g_toggle_control.html | 20 +- class_i_slider_control_base.html | 4 +- class_i_v_color_swatch_control.html | 26 +- class_i_v_group_control.html | 42 +- class_i_v_knob_control-members.html | 415 ++-- class_i_v_knob_control.html | 100 +- class_i_v_menu_button_control.html | 2 +- class_i_v_panel_control.html | 16 +- class_i_v_plot_control.html | 34 +- class_i_v_radio_button_control.html | 8 +- class_i_v_range_slider_control.html | 38 +- class_i_v_slide_switch_control-members.html | 4 +- class_i_v_slide_switch_control.html | 60 +- class_i_v_slider_control.html | 56 +- class_i_v_tab_switch_control.html | 16 +- class_i_v_track_control_base.html | 8 +- class_i_v_x_y_pad_control.html | 36 +- class_i_vector_base.html | 20 +- functions_func_i.html | 7 +- functions_i.html | 3 +- group___i_plug_utilities.html | 4 +- search/all_8.js | 36 +- search/functions_8.js | 13 +- struct_i_r_e_c_t.html | 38 +- struct_i_s_v_g.html | 4 +- 47 files changed, 2499 insertions(+), 2394 deletions(-) diff --git a/_i_controls_8cpp_source.html b/_i_controls_8cpp_source.html index aef058bc..82af5f1b 100644 --- a/_i_controls_8cpp_source.html +++ b/_i_controls_8cpp_source.html @@ -270,7 +270,7 @@
189}
190
191//TODO: Don't Repeat Yourself!
-
192IVSlideSwitchControl::IVSlideSwitchControl(const IRECT& bounds, int paramIdx, const char* label, const IVStyle& style, bool valueInButton, EDirection direction)
+
192IVSlideSwitchControl::IVSlideSwitchControl(const IRECT& bounds, int paramIdx, const char* label, const IVStyle& style, bool valueInButton, EDirection direction)
193: IVSwitchControl(bounds, paramIdx, label, style, valueInButton)
194, mDirection(direction)
195{
@@ -292,7 +292,7 @@
211 });
212}
213
-
214IVSlideSwitchControl::IVSlideSwitchControl(const IRECT& bounds, IActionFunction aF, const char* label, const IVStyle& style, bool valueInButton, EDirection direction, int numStates, int initialState)
+
214IVSlideSwitchControl::IVSlideSwitchControl(const IRECT& bounds, IActionFunction aF, const char* label, const IVStyle& style, bool valueInButton, EDirection direction, int numStates, int initialState)
215: IVSwitchControl(bounds, nullptr, label, style, numStates, valueInButton)
216, mDirection(direction)
217{
@@ -737,1142 +737,1147 @@
656 IRECT knobHandleBounds = mWidgetBounds.GetCentredInside((widgetRadius - mTrackToHandleDistance) * 2.f );
657 const float angle = mAngle1 + (static_cast<float>(GetValue()) * (mAngle2 - mAngle1));
658 DrawIndicatorTrack(g, angle, cx, cy, widgetRadius);
-
659 DrawPressableShape(g, /*mShape*/ EVShape::Ellipse, knobHandleBounds, mMouseDown, mMouseIsOver, IsDisabled());
+
659 DrawHandle(g, knobHandleBounds);
660 DrawPointer(g, angle, cx, cy, knobHandleBounds.W() / 2.f);
661}
662
-
663void IVKnobControl::DrawIndicatorTrack(IGraphics& g, float angle, float cx, float cy, float radius)
+
663void IVKnobControl::DrawHandle(IGraphics& g, const IRECT& bounds)
664{
-
665 if (mTrackSize > 0.f)
-
666 {
-
667 g.DrawArc(GetColor(kX1), cx, cy, radius, angle >= mAnchorAngle ? mAnchorAngle : mAnchorAngle - (mAnchorAngle - angle), angle >= mAnchorAngle ? angle : mAnchorAngle, &mBlend, mTrackSize);
-
668 }
-
669}
-
670
-
671void IVKnobControl::DrawPointer(IGraphics& g, float angle, float cx, float cy, float radius)
-
672{
-
673 g.DrawRadialLine(GetColor(kFR), cx, cy, angle, mInnerPointerFrac * radius, mOuterPointerFrac * radius, &mBlend, mPointerThickness);
+
665 DrawPressableShape(g, /*mShape*/ EVShape::Ellipse, bounds, mMouseDown, mMouseIsOver, IsDisabled());
+
666}
+
667
+
668void IVKnobControl::DrawIndicatorTrack(IGraphics& g, float angle, float cx, float cy, float radius)
+
669{
+
670 if (mTrackSize > 0.f)
+
671 {
+
672 g.DrawArc(GetColor(kX1), cx, cy, radius, angle >= mAnchorAngle ? mAnchorAngle : mAnchorAngle - (mAnchorAngle - angle), angle >= mAnchorAngle ? angle : mAnchorAngle, &mBlend, mTrackSize);
+
673 }
674}
675
-
676void IVKnobControl::OnMouseDown(float x, float y, const IMouseMod& mod)
+
676void IVKnobControl::DrawPointer(IGraphics& g, float angle, float cx, float cy, float radius)
677{
-
678 if(mStyle.showValue && mValueBounds.Contains(x, y))
-
679 {
-
680 PromptUserInput(mValueBounds);
-
681 }
-
682 else
-
683 {
-
684 IKnobControlBase::OnMouseDown(x, y, mod);
-
685 }
-
686
-
687 SetDirty(false);
-
688}
-
689
-
690void IVKnobControl::OnMouseDblClick(float x, float y, const IMouseMod& mod)
-
691{
-
692 #ifdef AAX_API
-
693 PromptUserInput(mValueBounds);
-
694 #else
-
695 SetValueToDefault(GetValIdxForPos(x, y));
-
696 #endif
-
697}
-
698
-
699void IVKnobControl::OnMouseUp(float x, float y, const IMouseMod& mod)
-
700{
-
701 IKnobControlBase::OnMouseUp(x, y, mod);
-
702 SetDirty(true);
-
703}
-
704
-
705void IVKnobControl::OnMouseOver(float x, float y, const IMouseMod& mod)
-
706{
-
707 if(mStyle.showValue && !mDisablePrompt)
-
708 mValueMouseOver = mValueBounds.Contains(x,y);
-
709
-
710 IKnobControlBase::OnMouseOver(x, y, mod);
-
711
-
712 SetDirty(false);
-
713}
-
714
-
715void IVKnobControl::OnResize()
-
716{
-
717 SetTargetRECT(MakeRects(mRECT));
-
718 SetDirty(false);
-
719}
-
720
-
721bool IVKnobControl::IsHit(float x, float y) const
-
722{
-
723 if(!mDisablePrompt)
-
724 {
-
725 if(mValueBounds.Contains(x,y))
-
726 return true;
-
727 }
-
728
-
729 return mWidgetBounds.Contains(x, y);
-
730}
-
731
-
732void IVKnobControl::SetDirty(bool push, int valIdx)
-
733{
-
734 IKnobControlBase::SetDirty(push);
-
735
-
736 const IParam* pParam = GetParam();
-
737
-
738 if(pParam)
-
739 pParam->GetDisplayWithLabel(mValueStr);
-
740}
-
741
-
742void IVKnobControl::OnInit()
-
743{
-
744 const IParam* pParam = GetParam();
-
745
-
746 if(pParam)
-
747 {
-
748 pParam->GetDisplayWithLabel(mValueStr);
-
749
-
750 if(!mLabelStr.GetLength())
-
751 mLabelStr.Set(pParam->GetName());
-
752 }
-
753}
-
754
-
755IVSliderControl::IVSliderControl(const IRECT& bounds, int paramIdx, const char* label, const IVStyle& style, bool valueIsEditable, EDirection dir, double gearing, float handleSize, float trackSize, bool handleInsideTrack, float handleXOffset, float handleYOffset)
-
756: ISliderControlBase(bounds, paramIdx, dir, gearing, handleSize)
-
757, IVectorBase(style)
-
758, mHandleInsideTrack(handleInsideTrack)
-
759, mHandleXOffset(handleXOffset)
-
760, mHandleYOffset(handleYOffset)
-
761{
-
762 DisablePrompt(!valueIsEditable);
-
763 mText = style.valueText;
-
764 mHideCursorOnDrag = style.hideCursor;
-
765 mShape = EVShape::Ellipse;
-
766 mTrackSize = trackSize;
-
767 AttachIControl(this, label);
-
768}
-
769
-
770IVSliderControl::IVSliderControl(const IRECT& bounds, IActionFunction aF, const char* label, const IVStyle& style, bool valueIsEditable, EDirection dir, double gearing, float handleSize, float trackSize, bool handleInsideTrack, float handleXOffset, float handleYOffset)
-
771: ISliderControlBase(bounds, aF, dir, gearing, handleSize)
-
772, IVectorBase(style)
-
773, mHandleInsideTrack(handleInsideTrack)
-
774, mHandleXOffset(handleXOffset)
-
775, mHandleYOffset(handleYOffset)
-
776{
-
777 DisablePrompt(!valueIsEditable);
-
778 mText = style.valueText;
-
779 mHideCursorOnDrag = style.hideCursor;
-
780 mShape = EVShape::Ellipse;
-
781 mTrackSize = trackSize;
-
782 AttachIControl(this, label);
-
783}
-
784
-
785void IVSliderControl::Draw(IGraphics& g)
-
786{
-
787 DrawBackground(g, mRECT);
-
788 DrawLabel(g);
-
789 DrawWidget(g);
-
790 DrawValue(g, mValueMouseOver);
-
791}
-
792
-
793void IVSliderControl::DrawTrack(IGraphics& g, const IRECT& filledArea)
-
794{
-
795 const float extra = mHandleInsideTrack ? mHandleSize : 0.f;
-
796 const IRECT adjustedTrackBounds = mDirection == EDirection::Vertical ? mTrackBounds.GetVPadded(extra) : mTrackBounds.GetHPadded(extra);
-
797 const IRECT adjustedFillBounds = mDirection == EDirection::Vertical ? filledArea.GetVPadded(extra) : filledArea.GetHPadded(extra);
-
798 const float cr = GetRoundedCornerRadius(mTrackBounds);
-
799
-
800 g.FillRoundRect(GetColor(kSH), adjustedTrackBounds, cr, &mBlend);
-
801 g.FillRoundRect(GetColor(kX1), adjustedFillBounds, cr, &mBlend);
-
802
-
803 if(mStyle.drawFrame)
-
804 g.DrawRoundRect(GetColor(kFR), adjustedTrackBounds, cr, &mBlend, mStyle.frameThickness);
-
805}
-
806
-
807void IVSliderControl::DrawWidget(IGraphics& g)
-
808{
-
809 IRECT filledTrack = mTrackBounds.FracRect(mDirection, (float) GetValue());
-
810
-
811 if(mTrackSize > 0.f)
-
812 DrawTrack(g, filledTrack);
-
813
-
814 float cx, cy;
-
815
-
816 const float offset = (mStyle.drawShadows && mShape != EVShape::Ellipse /* TODO? */) ? mStyle.shadowOffset * 0.5f : 0.f;
-
817
-
818 if(mDirection == EDirection::Vertical)
-
819 {
-
820 cx = filledTrack.MW() + offset;
-
821 cy = filledTrack.T;
-
822 }
-
823 else
+
678 g.DrawRadialLine(GetColor(kFR), cx, cy, angle, mInnerPointerFrac * radius, mOuterPointerFrac * radius, &mBlend, mPointerThickness);
+
679}
+
680
+
681void IVKnobControl::OnMouseDown(float x, float y, const IMouseMod& mod)
+
682{
+
683 if(mStyle.showValue && mValueBounds.Contains(x, y))
+
684 {
+
685 PromptUserInput(mValueBounds);
+
686 }
+
687 else
+
688 {
+
689 IKnobControlBase::OnMouseDown(x, y, mod);
+
690 }
+
691
+
692 SetDirty(false);
+
693}
+
694
+
695void IVKnobControl::OnMouseDblClick(float x, float y, const IMouseMod& mod)
+
696{
+
697 #ifdef AAX_API
+
698 PromptUserInput(mValueBounds);
+
699 #else
+
700 SetValueToDefault(GetValIdxForPos(x, y));
+
701 #endif
+
702}
+
703
+
704void IVKnobControl::OnMouseUp(float x, float y, const IMouseMod& mod)
+
705{
+
706 IKnobControlBase::OnMouseUp(x, y, mod);
+
707 SetDirty(true);
+
708}
+
709
+
710void IVKnobControl::OnMouseOver(float x, float y, const IMouseMod& mod)
+
711{
+
712 if(mStyle.showValue && !mDisablePrompt)
+
713 mValueMouseOver = mValueBounds.Contains(x,y);
+
714
+
715 IKnobControlBase::OnMouseOver(x, y, mod);
+
716
+
717 SetDirty(false);
+
718}
+
719
+
720void IVKnobControl::OnResize()
+
721{
+
722 SetTargetRECT(MakeRects(mRECT));
+
723 SetDirty(false);
+
724}
+
725
+
726bool IVKnobControl::IsHit(float x, float y) const
+
727{
+
728 if(!mDisablePrompt)
+
729 {
+
730 if(mValueBounds.Contains(x,y))
+
731 return true;
+
732 }
+
733
+
734 return mWidgetBounds.Contains(x, y);
+
735}
+
736
+
737void IVKnobControl::SetDirty(bool push, int valIdx)
+
738{
+
739 IKnobControlBase::SetDirty(push);
+
740
+
741 const IParam* pParam = GetParam();
+
742
+
743 if(pParam)
+
744 pParam->GetDisplayWithLabel(mValueStr);
+
745}
+
746
+
747void IVKnobControl::OnInit()
+
748{
+
749 const IParam* pParam = GetParam();
+
750
+
751 if(pParam)
+
752 {
+
753 pParam->GetDisplayWithLabel(mValueStr);
+
754
+
755 if(!mLabelStr.GetLength())
+
756 mLabelStr.Set(pParam->GetName());
+
757 }
+
758}
+
759
+
760IVSliderControl::IVSliderControl(const IRECT& bounds, int paramIdx, const char* label, const IVStyle& style, bool valueIsEditable, EDirection dir, double gearing, float handleSize, float trackSize, bool handleInsideTrack, float handleXOffset, float handleYOffset)
+
761: ISliderControlBase(bounds, paramIdx, dir, gearing, handleSize)
+
762, IVectorBase(style)
+
763, mHandleInsideTrack(handleInsideTrack)
+
764, mHandleXOffset(handleXOffset)
+
765, mHandleYOffset(handleYOffset)
+
766{
+
767 DisablePrompt(!valueIsEditable);
+
768 mText = style.valueText;
+
769 mHideCursorOnDrag = style.hideCursor;
+
770 mShape = EVShape::Ellipse;
+
771 mTrackSize = trackSize;
+
772 AttachIControl(this, label);
+
773}
+
774
+
775IVSliderControl::IVSliderControl(const IRECT& bounds, IActionFunction aF, const char* label, const IVStyle& style, bool valueIsEditable, EDirection dir, double gearing, float handleSize, float trackSize, bool handleInsideTrack, float handleXOffset, float handleYOffset)
+
776: ISliderControlBase(bounds, aF, dir, gearing, handleSize)
+
777, IVectorBase(style)
+
778, mHandleInsideTrack(handleInsideTrack)
+
779, mHandleXOffset(handleXOffset)
+
780, mHandleYOffset(handleYOffset)
+
781{
+
782 DisablePrompt(!valueIsEditable);
+
783 mText = style.valueText;
+
784 mHideCursorOnDrag = style.hideCursor;
+
785 mShape = EVShape::Ellipse;
+
786 mTrackSize = trackSize;
+
787 AttachIControl(this, label);
+
788}
+
789
+
790void IVSliderControl::Draw(IGraphics& g)
+
791{
+
792 DrawBackground(g, mRECT);
+
793 DrawLabel(g);
+
794 DrawWidget(g);
+
795 DrawValue(g, mValueMouseOver);
+
796}
+
797
+
798void IVSliderControl::DrawTrack(IGraphics& g, const IRECT& filledArea)
+
799{
+
800 const float extra = mHandleInsideTrack ? mHandleSize : 0.f;
+
801 const IRECT adjustedTrackBounds = mDirection == EDirection::Vertical ? mTrackBounds.GetVPadded(extra) : mTrackBounds.GetHPadded(extra);
+
802 const IRECT adjustedFillBounds = mDirection == EDirection::Vertical ? filledArea.GetVPadded(extra) : filledArea.GetHPadded(extra);
+
803 const float cr = GetRoundedCornerRadius(mTrackBounds);
+
804
+
805 g.FillRoundRect(GetColor(kSH), adjustedTrackBounds, cr, &mBlend);
+
806 g.FillRoundRect(GetColor(kX1), adjustedFillBounds, cr, &mBlend);
+
807
+
808 if(mStyle.drawFrame)
+
809 g.DrawRoundRect(GetColor(kFR), adjustedTrackBounds, cr, &mBlend, mStyle.frameThickness);
+
810}
+
811
+
812void IVSliderControl::DrawWidget(IGraphics& g)
+
813{
+
814 IRECT filledTrack = mTrackBounds.FracRect(mDirection, (float) GetValue());
+
815
+
816 if(mTrackSize > 0.f)
+
817 DrawTrack(g, filledTrack);
+
818
+
819 float cx, cy;
+
820
+
821 const float offset = (mStyle.drawShadows && mShape != EVShape::Ellipse /* TODO? */) ? mStyle.shadowOffset * 0.5f : 0.f;
+
822
+
823 if(mDirection == EDirection::Vertical)
824 {
-
825 cx = filledTrack.R;
-
826 cy = filledTrack.MH() + offset;
+
825 cx = filledTrack.MW() + offset;
+
826 cy = filledTrack.T;
827 }
-
828
-
829 if(mHandleSize > 0.f)
-
830 {
-
831 DrawHandle(g, {cx+mHandleXOffset-mHandleSize, cy+mHandleYOffset-mHandleSize, cx+mHandleXOffset+mHandleSize, cy+mHandleYOffset+mHandleSize});
+
828 else
+
829 {
+
830 cx = filledTrack.R;
+
831 cy = filledTrack.MH() + offset;
832 }
-
833}
-
834
-
835void IVSliderControl::DrawHandle(IGraphics& g, const IRECT& bounds)
-
836{
-
837 DrawPressableShape(g, mShape, bounds, mMouseDown, mMouseIsOver, IsDisabled());
+
833
+
834 if(mHandleSize > 0.f)
+
835 {
+
836 DrawHandle(g, {cx+mHandleXOffset-mHandleSize, cy+mHandleYOffset-mHandleSize, cx+mHandleXOffset+mHandleSize, cy+mHandleYOffset+mHandleSize});
+
837 }
838}
839
-
840void IVSliderControl::OnMouseDown(float x, float y, const IMouseMod& mod)
+
840void IVSliderControl::DrawHandle(IGraphics& g, const IRECT& bounds)
841{
-
842 if(mStyle.showValue && mValueBounds.Contains(x, y))
-
843 {
-
844 PromptUserInput(mValueBounds);
-
845 }
-
846 else
-
847 {
-
848 ISliderControlBase::OnMouseDown(x, y, mod);
-
849 }
-
850}
-
851
-
852void IVSliderControl::OnMouseDblClick(float x, float y, const IMouseMod& mod)
-
853{
-
854 #ifdef AAX_API
-
855 PromptUserInput(mValueBounds);
-
856 #else
-
857 SetValueToDefault(GetValIdxForPos(x, y));
-
858 #endif
-
859}
-
860
-
861void IVSliderControl::OnMouseUp(float x, float y, const IMouseMod& mod)
-
862{
-
863 ISliderControlBase::OnMouseUp(x, y, mod);
-
864 SetDirty(true);
-
865}
-
866
-
867void IVSliderControl::OnMouseOver(float x, float y, const IMouseMod& mod)
-
868{
-
869 if(mStyle.showValue && !mDisablePrompt)
-
870 mValueMouseOver = mValueBounds.Contains(x,y);
-
871
-
872 ISliderControlBase::OnMouseOver(x, y, mod);
-
873 SetDirty(false);
-
874}
-
875
-
876void IVSliderControl::OnResize()
-
877{
-
878 SetTargetRECT(MakeRects(mRECT));
-
879
-
880 if(mDirection == EDirection::Vertical)
-
881 mTrackBounds = mWidgetBounds.GetPadded(-mHandleSize).GetMidHPadded(mTrackSize);
-
882 else
-
883 mTrackBounds = mWidgetBounds.GetPadded(-mHandleSize).GetMidVPadded(mTrackSize);
-
884
-
885 SetDirty(false);
-
886}
-
887
-
888bool IVSliderControl::IsHit(float x, float y) const
-
889{
-
890 if(!mDisablePrompt)
-
891 {
-
892 if(mValueBounds.Contains(x,y))
-
893 {
-
894 return true;
-
895 }
-
896 }
-
897
-
898 return mWidgetBounds.Contains(x, y);
-
899}
-
900
-
901void IVSliderControl::SetDirty(bool push, int valIdx)
-
902{
-
903 ISliderControlBase::SetDirty(push);
-
904
-
905 const IParam* pParam = GetParam();
-
906
-
907 if(pParam)
-
908 pParam->GetDisplayWithLabel(mValueStr);
-
909}
-
910
-
911void IVSliderControl::OnInit()
-
912{
-
913 const IParam* pParam = GetParam();
-
914
-
915 if(pParam)
-
916 {
-
917 if(!mLabelStr.GetLength())
-
918 mLabelStr.Set(pParam->GetName());
-
919
-
920 pParam->GetDisplayWithLabel(mValueStr);
-
921 }
-
922}
-
923
-
924IVRangeSliderControl::IVRangeSliderControl(const IRECT& bounds, const std::initializer_list<int>& params, const char* label, const IVStyle& style, EDirection dir, bool onlyHandle, float handleSize, float trackSize)
-
925: IVTrackControlBase(bounds, label, style, params, 0, dir)
-
926, mHandleSize(handleSize)
-
927{
-
928 mTrackSize = trackSize;
-
929}
-
930
-
931void IVRangeSliderControl::Draw(IGraphics& g)
+
842 DrawPressableShape(g, mShape, bounds, mMouseDown, mMouseIsOver, IsDisabled());
+
843}
+
844
+
845void IVSliderControl::OnMouseDown(float x, float y, const IMouseMod& mod)
+
846{
+
847 if(mStyle.showValue && mValueBounds.Contains(x, y))
+
848 {
+
849 PromptUserInput(mValueBounds);
+
850 }
+
851 else
+
852 {
+
853 ISliderControlBase::OnMouseDown(x, y, mod);
+
854 }
+
855}
+
856
+
857void IVSliderControl::OnMouseDblClick(float x, float y, const IMouseMod& mod)
+
858{
+
859 #ifdef AAX_API
+
860 PromptUserInput(mValueBounds);
+
861 #else
+
862 SetValueToDefault(GetValIdxForPos(x, y));
+
863 #endif
+
864}
+
865
+
866void IVSliderControl::OnMouseUp(float x, float y, const IMouseMod& mod)
+
867{
+
868 ISliderControlBase::OnMouseUp(x, y, mod);
+
869 SetDirty(true);
+
870}
+
871
+
872void IVSliderControl::OnMouseOver(float x, float y, const IMouseMod& mod)
+
873{
+
874 if(mStyle.showValue && !mDisablePrompt)
+
875 mValueMouseOver = mValueBounds.Contains(x,y);
+
876
+
877 ISliderControlBase::OnMouseOver(x, y, mod);
+
878 SetDirty(false);
+
879}
+
880
+
881void IVSliderControl::OnResize()
+
882{
+
883 SetTargetRECT(MakeRects(mRECT));
+
884
+
885 if(mDirection == EDirection::Vertical)
+
886 mTrackBounds = mWidgetBounds.GetPadded(-mHandleSize).GetMidHPadded(mTrackSize);
+
887 else
+
888 mTrackBounds = mWidgetBounds.GetPadded(-mHandleSize).GetMidVPadded(mTrackSize);
+
889
+
890 SetDirty(false);
+
891}
+
892
+
893bool IVSliderControl::IsHit(float x, float y) const
+
894{
+
895 if(!mDisablePrompt)
+
896 {
+
897 if(mValueBounds.Contains(x,y))
+
898 {
+
899 return true;
+
900 }
+
901 }
+
902
+
903 return mWidgetBounds.Contains(x, y);
+
904}
+
905
+
906void IVSliderControl::SetDirty(bool push, int valIdx)
+
907{
+
908 ISliderControlBase::SetDirty(push);
+
909
+
910 const IParam* pParam = GetParam();
+
911
+
912 if(pParam)
+
913 pParam->GetDisplayWithLabel(mValueStr);
+
914}
+
915
+
916void IVSliderControl::OnInit()
+
917{
+
918 const IParam* pParam = GetParam();
+
919
+
920 if(pParam)
+
921 {
+
922 if(!mLabelStr.GetLength())
+
923 mLabelStr.Set(pParam->GetName());
+
924
+
925 pParam->GetDisplayWithLabel(mValueStr);
+
926 }
+
927}
+
928
+
929IVRangeSliderControl::IVRangeSliderControl(const IRECT& bounds, const std::initializer_list<int>& params, const char* label, const IVStyle& style, EDirection dir, bool onlyHandle, float handleSize, float trackSize)
+
930: IVTrackControlBase(bounds, label, style, params, 0, dir)
+
931, mHandleSize(handleSize)
932{
-
933 DrawBackground(g, mRECT);
-
934 DrawLabel(g);
-
935 DrawWidget(g);
-
936// DrawValue(g, mValueMouseOver);
-
937}
-
938
-
939void IVRangeSliderControl::MakeTrackRects(const IRECT& bounds)
-
940{
-
941 for (int ch = 0; ch < NVals(); ch++)
-
942 {
-
943 if(mDirection == EDirection::Vertical)
-
944 mTrackBounds.Get()[ch] = bounds.GetPadded(-mHandleSize).GetMidHPadded(mTrackSize);
-
945 else
-
946 mTrackBounds.Get()[ch] = bounds.GetPadded(-mHandleSize).GetMidVPadded(mTrackSize);
-
947 }
-
948}
-
949
-
950void IVRangeSliderControl::DrawTrack(IGraphics& g, const IRECT& r, int chIdx)
-
951{
-
952 bool thisTrack = mMouseOverHandle == chIdx;
-
953 float angle = 0.f;
-
954
-
955 if(mDirection == EDirection::Horizontal)
-
956 angle = chIdx % 2 ? 180.f : 0.f;
-
957 else
-
958 angle = chIdx % 2 ? 270.f : 90.f;
-
959
-
960 DrawPressableTriangle(g, GetHandleBounds(chIdx), thisTrack && mMouseIsDown, thisTrack, angle, IsDisabled());
-
961}
-
962
-
963IRECT IVRangeSliderControl::GetHandleBounds(int trackIdx)
-
964{
-
965 IRECT filledTrack = mTrackBounds.Get()[trackIdx].FracRect(mDirection, (float) GetValue(trackIdx));
-
966 float cx, cy;
-
967 const float offset = (mStyle.drawShadows && mShape != EVShape::Ellipse /* TODO? */) ? mStyle.shadowOffset * 0.5f : 0.f;
-
968 if(mDirection == EDirection::Vertical)
-
969 {
-
970 cx = filledTrack.MW() + offset;
-
971 cy = filledTrack.T;
-
972
-
973 if(trackIdx % 2)
-
974 return IRECT(cx+mTrackSize, cy-mHandleSize, cx+(2.f*mHandleSize)+mTrackSize, cy+mHandleSize);
-
975 else
-
976 return IRECT(cx-(2.f*mHandleSize), cy-mHandleSize, cx, cy+mHandleSize);
-
977 }
-
978 else
-
979 {
-
980 cx = filledTrack.R;
-
981 cy = filledTrack.MH() + offset;
-
982
-
983 if(trackIdx % 2)
-
984 return IRECT(cx-mHandleSize, cy-(2.f*mHandleSize), cx+mHandleSize, cy);
-
985 else
-
986 return IRECT(cx-mHandleSize, cy+mTrackSize, cx+mHandleSize, cy+(2.f*mHandleSize)+mTrackSize);
-
987 }
-
988}
-
989
-
990void IVRangeSliderControl::DrawWidget(IGraphics& g)
-
991{
-
992 IRECT r = mTrackBounds.Get()[0];
-
993
-
994 DrawTrackBackground(g, r, 0);
-
995
-
996 for(int i=0;i<NVals()-1;i++)
-
997 {
-
998 IRECT filled1 = mTrackBounds.Get()[i].FracRect(mDirection, (float) GetValue(i));
-
999 IRECT filled2 = mTrackBounds.Get()[i+1].FracRect(mDirection, (float) GetValue(i+1));
-
1000
-
1001 if(mDirection == EDirection::Vertical)
-
1002 g.FillRect(GetColor(kX1), IRECT(filled1.L, filled1.T < filled2.T ? filled1.T : filled2.T, filled1.R, filled1.T > filled2.T ? filled1.T : filled2.T), &mBlend);
-
1003 else
-
1004 g.FillRect(GetColor(kX1), IRECT(filled1.R < filled2.R ? filled1.R : filled2.R, filled1.T, filled1.R > filled2.R ? filled1.R : filled2.R, filled1.B), &mBlend);
-
1005 }
-
1006
-
1007 if(mStyle.drawFrame && mDrawTrackFrame)
-
1008 g.DrawRect(GetColor(kFR), r, &mBlend, mStyle.frameThickness);
-
1009
-
1010 IVTrackControlBase::DrawWidget(g);
-
1011}
-
1012
-
1013void IVRangeSliderControl::OnMouseOver(float x, float y, const IMouseMod& mod)
-
1014{
-
1015 IRECT bounds;
-
1016 int hitHandle = -1;
-
1017
-
1018 for(int i=0;i<NVals();i++)
-
1019 {
-
1020 bounds = GetHandleBounds(i);
-
1021 if(bounds.Contains(x, y))
-
1022 {
-
1023 hitHandle = i;
-
1024 break;
-
1025 }
-
1026 }
-
1027
-
1028 mMouseOverHandle = hitHandle;
-
1029
-
1030 IVTrackControlBase::OnMouseOver(x, y, mod);
-
1031 SetDirty(false);
-
1032}
-
1033
-
1034void IVRangeSliderControl::OnMouseDown(float x, float y, const IMouseMod& mod)
-
1035{
-
1036 mMouseIsDown = true;
-
1037 OnMouseDrag(x, y, 0., 0., mod);
-
1038}
-
1039
-
1040void IVRangeSliderControl::OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod& mod)
-
1041{
-
1042 if(mMouseOverHandle == -1)
-
1043 return;
-
1044
-
1045 auto minClip = mMouseOverHandle == 0 ? 0. : GetValue(mMouseOverHandle-1);
-
1046 auto maxClip = mMouseOverHandle == NVals()-1 ? 1. : GetValue(mMouseOverHandle+1);
-
1047 SnapToMouse(x, y, mDirection, mWidgetBounds, mMouseOverHandle, minClip, maxClip);
-
1048}
-
1049
-
1050
-
1051IVXYPadControl::IVXYPadControl(const IRECT& bounds, const std::initializer_list<int>& params, const char* label, const IVStyle& style, float handleRadius, bool trackClipsHandle, bool drawCross)
-
1052: IControl(bounds, params)
-
1053, IVectorBase(style)
-
1054, mHandleRadius(handleRadius)
-
1055, mTrackClipsHandle(trackClipsHandle)
-
1056, mDrawCross(drawCross)
-
1057{
-
1058 mShape = EVShape::Ellipse;
-
1059 AttachIControl(this, label);
-
1060}
-
1061
-
1062void IVXYPadControl::Draw(IGraphics& g)
-
1063{
-
1064 DrawBackground(g, mRECT);
-
1065 DrawLabel(g);
-
1066
-
1067 if(mStyle.drawFrame)
-
1068 g.DrawRect(GetColor(kFR), mWidgetBounds, &mBlend, mStyle.frameThickness);
-
1069
-
1070 DrawWidget(g);
-
1071}
-
1072
-
1073void IVXYPadControl::DrawWidget(IGraphics& g)
-
1074{
-
1075 DrawTrack(g);
-
1076
-
1077 const IRECT trackBounds = mWidgetBounds.GetPadded(mTrackClipsHandle ? 0 : -mHandleRadius);
-
1078
-
1079 const float xpos = static_cast<float>(GetValue(0)) * trackBounds.W();
-
1080 const float ypos = static_cast<float>(GetValue(1)) * trackBounds.H();
-
1081 const IRECT handleBounds = IRECT(trackBounds.L + xpos-mHandleRadius, trackBounds.B - ypos-mHandleRadius, trackBounds.L + xpos+mHandleRadius, trackBounds.B -ypos+mHandleRadius);
-
1082
-
1083 DrawHandle(g, trackBounds, handleBounds);
-
1084}
-
1085
-
1086void IVXYPadControl::DrawHandle(IGraphics& g, const IRECT& trackBounds, const IRECT& handleBounds)
-
1087{
-
1088 if (mTrackClipsHandle)
-
1089 g.PathClipRegion(trackBounds.GetPadded(-0.5f * mStyle.frameThickness));
-
1090
-
1091 DrawPressableShape(g, mShape, handleBounds, mMouseDown, mMouseIsOver, IsDisabled());
-
1092}
-
1093
-
1094void IVXYPadControl::DrawTrack(IGraphics& g)
-
1095{
-
1096 if (mDrawCross)
-
1097 {
-
1098 g.DrawVerticalLine(GetColor(kSH), mWidgetBounds, 0.5);
-
1099 g.DrawHorizontalLine(GetColor(kSH), mWidgetBounds, 0.5);
-
1100 }
-
1101}
-
1102
-
1103void IVXYPadControl::OnMouseDown(float x, float y, const IMouseMod& mod)
-
1104{
-
1105 mMouseDown = true;
-
1106 if (mStyle.hideCursor)
-
1107 GetUI()->HideMouseCursor(true, false);
-
1108
-
1109 OnMouseDrag(x, y, 0., 0., mod);
-
1110}
-
1111
-
1112void IVXYPadControl::OnMouseUp(float x, float y, const IMouseMod& mod)
-
1113{
-
1114 if (mStyle.hideCursor)
-
1115 GetUI()->HideMouseCursor(false);
+
933 mTrackSize = trackSize;
+
934}
+
935
+
936void IVRangeSliderControl::Draw(IGraphics& g)
+
937{
+
938 DrawBackground(g, mRECT);
+
939 DrawLabel(g);
+
940 DrawWidget(g);
+
941// DrawValue(g, mValueMouseOver);
+
942}
+
943
+
944void IVRangeSliderControl::MakeTrackRects(const IRECT& bounds)
+
945{
+
946 for (int ch = 0; ch < NVals(); ch++)
+
947 {
+
948 if(mDirection == EDirection::Vertical)
+
949 mTrackBounds.Get()[ch] = bounds.GetPadded(-mHandleSize).GetMidHPadded(mTrackSize);
+
950 else
+
951 mTrackBounds.Get()[ch] = bounds.GetPadded(-mHandleSize).GetMidVPadded(mTrackSize);
+
952 }
+
953}
+
954
+
955void IVRangeSliderControl::DrawTrack(IGraphics& g, const IRECT& r, int chIdx)
+
956{
+
957 bool thisTrack = mMouseOverHandle == chIdx;
+
958 float angle = 0.f;
+
959
+
960 if(mDirection == EDirection::Horizontal)
+
961 angle = chIdx % 2 ? 180.f : 0.f;
+
962 else
+
963 angle = chIdx % 2 ? 270.f : 90.f;
+
964
+
965 DrawPressableTriangle(g, GetHandleBounds(chIdx), thisTrack && mMouseIsDown, thisTrack, angle, IsDisabled());
+
966}
+
967
+
968IRECT IVRangeSliderControl::GetHandleBounds(int trackIdx)
+
969{
+
970 IRECT filledTrack = mTrackBounds.Get()[trackIdx].FracRect(mDirection, (float) GetValue(trackIdx));
+
971 float cx, cy;
+
972 const float offset = (mStyle.drawShadows && mShape != EVShape::Ellipse /* TODO? */) ? mStyle.shadowOffset * 0.5f : 0.f;
+
973 if(mDirection == EDirection::Vertical)
+
974 {
+
975 cx = filledTrack.MW() + offset;
+
976 cy = filledTrack.T;
+
977
+
978 if(trackIdx % 2)
+
979 return IRECT(cx+mTrackSize, cy-mHandleSize, cx+(2.f*mHandleSize)+mTrackSize, cy+mHandleSize);
+
980 else
+
981 return IRECT(cx-(2.f*mHandleSize), cy-mHandleSize, cx, cy+mHandleSize);
+
982 }
+
983 else
+
984 {
+
985 cx = filledTrack.R;
+
986 cy = filledTrack.MH() + offset;
+
987
+
988 if(trackIdx % 2)
+
989 return IRECT(cx-mHandleSize, cy-(2.f*mHandleSize), cx+mHandleSize, cy);
+
990 else
+
991 return IRECT(cx-mHandleSize, cy+mTrackSize, cx+mHandleSize, cy+(2.f*mHandleSize)+mTrackSize);
+
992 }
+
993}
+
994
+
995void IVRangeSliderControl::DrawWidget(IGraphics& g)
+
996{
+
997 IRECT r = mTrackBounds.Get()[0];
+
998
+
999 DrawTrackBackground(g, r, 0);
+
1000
+
1001 for(int i=0;i<NVals()-1;i++)
+
1002 {
+
1003 IRECT filled1 = mTrackBounds.Get()[i].FracRect(mDirection, (float) GetValue(i));
+
1004 IRECT filled2 = mTrackBounds.Get()[i+1].FracRect(mDirection, (float) GetValue(i+1));
+
1005
+
1006 if(mDirection == EDirection::Vertical)
+
1007 g.FillRect(GetColor(kX1), IRECT(filled1.L, filled1.T < filled2.T ? filled1.T : filled2.T, filled1.R, filled1.T > filled2.T ? filled1.T : filled2.T), &mBlend);
+
1008 else
+
1009 g.FillRect(GetColor(kX1), IRECT(filled1.R < filled2.R ? filled1.R : filled2.R, filled1.T, filled1.R > filled2.R ? filled1.R : filled2.R, filled1.B), &mBlend);
+
1010 }
+
1011
+
1012 if(mStyle.drawFrame && mDrawTrackFrame)
+
1013 g.DrawRect(GetColor(kFR), r, &mBlend, mStyle.frameThickness);
+
1014
+
1015 IVTrackControlBase::DrawWidget(g);
+
1016}
+
1017
+
1018void IVRangeSliderControl::OnMouseOver(float x, float y, const IMouseMod& mod)
+
1019{
+
1020 IRECT bounds;
+
1021 int hitHandle = -1;
+
1022
+
1023 for(int i=0;i<NVals();i++)
+
1024 {
+
1025 bounds = GetHandleBounds(i);
+
1026 if(bounds.Contains(x, y))
+
1027 {
+
1028 hitHandle = i;
+
1029 break;
+
1030 }
+
1031 }
+
1032
+
1033 mMouseOverHandle = hitHandle;
+
1034
+
1035 IVTrackControlBase::OnMouseOver(x, y, mod);
+
1036 SetDirty(false);
+
1037}
+
1038
+
1039void IVRangeSliderControl::OnMouseDown(float x, float y, const IMouseMod& mod)
+
1040{
+
1041 mMouseIsDown = true;
+
1042 OnMouseDrag(x, y, 0., 0., mod);
+
1043}
+
1044
+
1045void IVRangeSliderControl::OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod& mod)
+
1046{
+
1047 if(mMouseOverHandle == -1)
+
1048 return;
+
1049
+
1050 auto minClip = mMouseOverHandle == 0 ? 0. : GetValue(mMouseOverHandle-1);
+
1051 auto maxClip = mMouseOverHandle == NVals()-1 ? 1. : GetValue(mMouseOverHandle+1);
+
1052 SnapToMouse(x, y, mDirection, mWidgetBounds, mMouseOverHandle, minClip, maxClip);
+
1053}
+
1054
+
1055
+
1056IVXYPadControl::IVXYPadControl(const IRECT& bounds, const std::initializer_list<int>& params, const char* label, const IVStyle& style, float handleRadius, bool trackClipsHandle, bool drawCross)
+
1057: IControl(bounds, params)
+
1058, IVectorBase(style)
+
1059, mHandleRadius(handleRadius)
+
1060, mTrackClipsHandle(trackClipsHandle)
+
1061, mDrawCross(drawCross)
+
1062{
+
1063 mShape = EVShape::Ellipse;
+
1064 AttachIControl(this, label);
+
1065}
+
1066
+
1067void IVXYPadControl::Draw(IGraphics& g)
+
1068{
+
1069 DrawBackground(g, mRECT);
+
1070 DrawLabel(g);
+
1071
+
1072 if(mStyle.drawFrame)
+
1073 g.DrawRect(GetColor(kFR), mWidgetBounds, &mBlend, mStyle.frameThickness);
+
1074
+
1075 DrawWidget(g);
+
1076}
+
1077
+
1078void IVXYPadControl::DrawWidget(IGraphics& g)
+
1079{
+
1080 DrawTrack(g);
+
1081
+
1082 const IRECT trackBounds = mWidgetBounds.GetPadded(mTrackClipsHandle ? 0 : -mHandleRadius);
+
1083
+
1084 const float xpos = static_cast<float>(GetValue(0)) * trackBounds.W();
+
1085 const float ypos = static_cast<float>(GetValue(1)) * trackBounds.H();
+
1086 const IRECT handleBounds = IRECT(trackBounds.L + xpos-mHandleRadius, trackBounds.B - ypos-mHandleRadius, trackBounds.L + xpos+mHandleRadius, trackBounds.B -ypos+mHandleRadius);
+
1087
+
1088 DrawHandle(g, trackBounds, handleBounds);
+
1089}
+
1090
+
1091void IVXYPadControl::DrawHandle(IGraphics& g, const IRECT& trackBounds, const IRECT& handleBounds)
+
1092{
+
1093 if (mTrackClipsHandle)
+
1094 g.PathClipRegion(trackBounds.GetPadded(-0.5f * mStyle.frameThickness));
+
1095
+
1096 DrawPressableShape(g, mShape, handleBounds, mMouseDown, mMouseIsOver, IsDisabled());
+
1097}
+
1098
+
1099void IVXYPadControl::DrawTrack(IGraphics& g)
+
1100{
+
1101 if (mDrawCross)
+
1102 {
+
1103 g.DrawVerticalLine(GetColor(kSH), mWidgetBounds, 0.5);
+
1104 g.DrawHorizontalLine(GetColor(kSH), mWidgetBounds, 0.5);
+
1105 }
+
1106}
+
1107
+
1108void IVXYPadControl::OnMouseDown(float x, float y, const IMouseMod& mod)
+
1109{
+
1110 mMouseDown = true;
+
1111 if (mStyle.hideCursor)
+
1112 GetUI()->HideMouseCursor(true, false);
+
1113
+
1114 OnMouseDrag(x, y, 0., 0., mod);
+
1115}
1116
-
1117 mMouseDown = false;
-
1118 SetDirty(true);
-
1119}
-
1120
-
1121void IVXYPadControl::OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod& mod)
-
1122{
-
1123 mRECT.Constrain(x, y);
-
1124 float xn = (x - mRECT.L) / mRECT.W();
-
1125 float yn = 1.f - ((y - mRECT.T) / mRECT.H());
-
1126 SetValue(xn, 0);
-
1127 SetValue(yn, 1);
-
1128 SetDirty(true);
-
1129}
-
1130
-
1131void IVXYPadControl::OnResize()
-
1132{
-
1133 SetTargetRECT(MakeRects(mRECT));
-
1134 SetDirty(false);
-
1135}
-
1136
-
1137IVPlotControl::IVPlotControl(const IRECT& bounds, const std::initializer_list<Plot>& plots, int numPoints, const char* label, const IVStyle& style, float min, float max, bool useLayer)
-
1138: IControl(bounds)
-
1139, IVectorBase(style)
-
1140, mMin(min)
-
1141, mMax(max)
-
1142, mUseLayer(useLayer)
-
1143{
-
1144 mPoints.resize(numPoints);
-
1145
-
1146 AttachIControl(this, label);
-
1147
-
1148 for(auto plot : plots)
-
1149 {
-
1150 AddPlotFunc(plot.color, plot.func);
-
1151 }
-
1152}
-
1153
-
1154void IVPlotControl::Draw(IGraphics& g)
-
1155{
-
1156 DrawBackground(g, mRECT);
-
1157 DrawLabel(g);
+
1117void IVXYPadControl::OnMouseUp(float x, float y, const IMouseMod& mod)
+
1118{
+
1119 if (mStyle.hideCursor)
+
1120 GetUI()->HideMouseCursor(false);
+
1121
+
1122 mMouseDown = false;
+
1123 SetDirty(true);
+
1124}
+
1125
+
1126void IVXYPadControl::OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod& mod)
+
1127{
+
1128 mRECT.Constrain(x, y);
+
1129 float xn = (x - mRECT.L) / mRECT.W();
+
1130 float yn = 1.f - ((y - mRECT.T) / mRECT.H());
+
1131 SetValue(xn, 0);
+
1132 SetValue(yn, 1);
+
1133 SetDirty(true);
+
1134}
+
1135
+
1136void IVXYPadControl::OnResize()
+
1137{
+
1138 SetTargetRECT(MakeRects(mRECT));
+
1139 SetDirty(false);
+
1140}
+
1141
+
1142IVPlotControl::IVPlotControl(const IRECT& bounds, const std::initializer_list<Plot>& plots, int numPoints, const char* label, const IVStyle& style, float min, float max, bool useLayer)
+
1143: IControl(bounds)
+
1144, IVectorBase(style)
+
1145, mMin(min)
+
1146, mMax(max)
+
1147, mUseLayer(useLayer)
+
1148{
+
1149 mPoints.resize(numPoints);
+
1150
+
1151 AttachIControl(this, label);
+
1152
+
1153 for(auto plot : plots)
+
1154 {
+
1155 AddPlotFunc(plot.color, plot.func);
+
1156 }
+
1157}
1158
-
1159 float hdiv = mWidgetBounds.W() / static_cast<float>(mHorizontalDivisions);
-
1160 float vdiv = mWidgetBounds.H() / static_cast<float>(mVerticalDivisions + 2);
-
1161
-
1162 IRECT plotsRECT = mWidgetBounds.GetVPadded(-vdiv);
+
1159void IVPlotControl::Draw(IGraphics& g)
+
1160{
+
1161 DrawBackground(g, mRECT);
+
1162 DrawLabel(g);
1163
-
1164 auto drawFunc = [&](){
-
1165 g.DrawGrid(GetColor(kSH), mWidgetBounds, hdiv, vdiv, &mBlend);
-
1166
-
1167 for (int p=0; p<mPlots.size(); p++)
-
1168 {
-
1169 for (int i=0; i<mPoints.size(); i++)
-
1170 {
-
1171 auto v = mPlots[p].func((static_cast<float>(i)/static_cast<float>(mPoints.size() - 1)));
-
1172 v = (v - mMin) / (mMax-mMin);
-
1173 mPoints[i] = static_cast<float>(v);
-
1174 }
-
1175
-
1176 g.DrawData(mPlots[p].color, plotsRECT, mPoints.data(), static_cast<int>(mPoints.size()), nullptr, &mBlend, mTrackSize);
-
1177 }
-
1178
-
1179 if (mStyle.drawFrame)
-
1180 g.DrawRect(GetColor(kFR), mWidgetBounds, &mBlend, mStyle.frameThickness);
-
1181 };
-
1182
-
1183 if(mUseLayer)
-
1184 {
-
1185 if (!g.CheckLayer(mLayer))
-
1186 {
-
1187 g.StartLayer(this, mRECT);
-
1188 drawFunc();
-
1189 mLayer = g.EndLayer();
-
1190 }
-
1191
-
1192 g.DrawLayer(mLayer, &mBlend);
-
1193 }
-
1194 else
-
1195 drawFunc();
-
1196}
-
1197
-
1198void IVPlotControl::OnResize()
-
1199{
-
1200 SetTargetRECT(MakeRects(mRECT));
-
1201 SetDirty(false);
-
1202}
-
1203
-
1204void IVPlotControl::AddPlotFunc(const IColor& color, const IPlotFunc& func)
-
1205{
-
1206 mPlots.push_back({color, func});
-
1207
-
1208 if(mLayer)
-
1209 mLayer->Invalidate();
-
1210 SetDirty(false);
-
1211}
-
1212
-
1213IVGroupControl::IVGroupControl(const IRECT& bounds, const char* label, float labelOffset, const IVStyle& style, IContainerBase::AttachFunc attachFunc, IContainerBase::ResizeFunc resizeFunc)
-
1214: IContainerBase(bounds, attachFunc, resizeFunc)
-
1215, IVectorBase(style)
-
1216, mLabelOffset(labelOffset)
-
1217{
-
1218 AttachIControl(this, label);
-
1219 mIgnoreMouse = true;
-
1220}
-
1221
-
1222IVGroupControl::IVGroupControl(const char* label, const char* groupName, float padL, float padT, float padR, float padB, const IVStyle& style)
-
1223: IContainerBase(IRECT())
-
1224, IVectorBase(style)
-
1225, mGroupName(groupName)
-
1226, mPadL(padL)
-
1227, mPadT(padT)
-
1228, mPadR(padR)
-
1229, mPadB(padB)
-
1230{
-
1231 AttachIControl(this, label);
-
1232 mIgnoreMouse = true;
-
1233}
-
1234
-
1235void IVGroupControl::OnInit()
-
1236{
-
1237 if(mGroupName.GetLength())
-
1238 {
-
1239 SetBoundsBasedOnGroup(mGroupName.Get(), mPadL, mPadT, mPadR, mPadB);
-
1240 }
-
1241}
-
1242
-
1243void IVGroupControl::Draw(IGraphics& g)
-
1244{
-
1245// const float cr = GetRoundedCornerRadius(mWidgetBounds);
-
1246// g.FillRoundRect(GetColor(kBG), mWidgetBounds, cr);
-
1247// g.FillRect(GetColor(kBG), mLabelBounds);
-
1248 DrawLabel(g);
-
1249 DrawWidget(g);
-
1250}
-
1251
-
1252void IVGroupControl::DrawWidget(IGraphics& g)
-
1253{
-
1254 const float cr = GetRoundedCornerRadius(mWidgetBounds);
-
1255 const float ft = mStyle.frameThickness;
-
1256 const float hft = ft/2.f;
-
1257
-
1258 int nPaths = /*mStyle.drawShadows ? 2 :*/ 1;
-
1259
-
1260 auto b = mWidgetBounds.GetPadded(/*mStyle.drawShadows ? -mStyle.shadowOffset :*/ 0.f);
-
1261
-
1262 auto labelR = mLabelBounds.Empty() ? mRECT.MW() : mLabelBounds.R;
-
1263 auto labelL = mLabelBounds.Empty() ? mRECT.MW() : mLabelBounds.L;
-
1264
-
1265 for(int i=0; i < nPaths; i++)
-
1266 {
-
1267 const float offset = i == 0 ? 0.f : mStyle.shadowOffset;
-
1268 g.PathClear();
-
1269 g.PathMoveTo(labelR, b.T + hft - offset);
-
1270 g.PathArc(b.R - cr - hft - offset, b.T + cr + hft - offset, cr, 0.f, 90.f);
-
1271 g.PathArc(b.R - cr - hft - offset, b.B - cr - hft - offset, cr, 90.f, 180.f);
-
1272 g.PathArc(b.L + cr + hft - offset, b.B - cr - hft - offset, cr, 180.f, 270.f);
-
1273 g.PathArc(b.L + cr + hft - offset, b.T + cr + hft - offset, cr, 270.f, 360.f);
-
1274 g.PathLineTo(labelL, b.T + hft - offset);
-
1275 g.PathStroke(mStyle.drawShadows ? GetColor(i == 0 ? kSH : kFR) : GetColor(kFR), ft);
-
1276 }
-
1277}
-
1278
-
1279void IVGroupControl::OnResize()
-
1280{
-
1281 SetTargetRECT(MakeRects(mRECT));
-
1282 mLabelBounds.HPad(mLabelPadding);
-
1283 mWidgetBounds.Offset(0, -(mLabelBounds.H()/2.f) - (mStyle.frameThickness/2.f), 0, 0);
-
1284 const float cr = GetRoundedCornerRadius(mWidgetBounds);
-
1285 mLabelBounds.Translate(mRECT.L - mLabelBounds.L + mStyle.frameThickness + mLabelOffset + cr, 0.f);
-
1286 SetDirty(false);
-
1287}
-
1288
-
1289void IVGroupControl::SetBoundsBasedOnGroup(const char* groupName, float padL, float padT, float padR, float padB)
-
1290{
-
1291 mGroupName.Set(groupName);
-
1292
-
1293 IRECT unionRect;
-
1294 GetUI()->ForControlInGroup(mGroupName.Get(), [&unionRect](IControl* pControl) { unionRect = unionRect.Union(pControl->GetRECT()); });
-
1295 float halfLabelHeight = mLabelBounds.H()/2.f;
-
1296 unionRect.GetVPadded(halfLabelHeight);
-
1297 mRECT = unionRect.GetPadded(padL, padT, padR, padB);
-
1298
-
1299 OnResize();
-
1300}
-
1301
-
1302IVColorSwatchControl::IVColorSwatchControl(const IRECT& bounds, const char* label, ColorChosenFunc func, const IVStyle& style, ECellLayout layout,
-
1303 const std::initializer_list<EVColor>& colorIDs, const std::initializer_list<const char*>& labelsForIDs)
-
1304: IControl(bounds)
-
1305, IVectorBase(style)
-
1306, mColorChosenFunc(func)
-
1307, mLayout(layout)
-
1308, mColorIdForCells(colorIDs)
-
1309{
-
1310 assert(colorIDs.size() == labelsForIDs.size());
-
1311
-
1312 AttachIControl(this, label);
-
1313 mCellRects.Resize(static_cast<int>(mColorIdForCells.size()));
-
1314 mText.mAlign = mStyle.valueText.mAlign = EAlign::Far;
-
1315
-
1316 for (int i=0;i<colorIDs.size();i++)
-
1317 {
-
1318 mLabels.Add(new WDL_String(labelsForIDs.begin()[i]));
-
1319 }
-
1320}
-
1321
-
1322void IVColorSwatchControl::Draw(IGraphics& g)
-
1323{
-
1324 DrawWidget(g);
-
1325 DrawLabel(g);
-
1326}
-
1327
-
1328void IVColorSwatchControl::DrawWidget(IGraphics& g)
-
1329{
-
1330 for (int i=0; i< mColorIdForCells.size(); i++)
-
1331 {
-
1332 WDL_String* pStr = mLabels.Get(i);
-
1333 IRECT r = mCellRects.Get()[i];
-
1334 IRECT buttonBounds = r.FracRectHorizontal(pStr->GetLength() ? 0.25f : 1.f, true);
-
1335 g.FillRect(GetColor(mColorIdForCells[i]), buttonBounds, &mBlend);
-
1336 g.DrawRect(i == mCellOver ? COLOR_GRAY : COLOR_DARK_GRAY, buttonBounds.GetPadded(0.5f), &mBlend);
-
1337
-
1338 if(pStr->GetLength())
-
1339 g.DrawText(mStyle.valueText, mLabels.Get(i)->Get(), r.FracRectHorizontal(0.7f, false), &mBlend);
-
1340 }
-
1341}
-
1342
-
1343void IVColorSwatchControl::OnResize()
-
1344{
-
1345 SetTargetRECT(MakeRects(mRECT, true));
-
1346
-
1347 int rows = 3;
-
1348 int columns = 3;
-
1349
-
1350 if(mLayout == ECellLayout::kGrid)
-
1351 {
-
1352 rows = 3;
-
1353 columns = 3;
-
1354 }
-
1355 else if (mLayout == ECellLayout::kHorizontal)
+
1164 float hdiv = mWidgetBounds.W() / static_cast<float>(mHorizontalDivisions);
+
1165 float vdiv = mWidgetBounds.H() / static_cast<float>(mVerticalDivisions + 2);
+
1166
+
1167 IRECT plotsRECT = mWidgetBounds.GetVPadded(-vdiv);
+
1168
+
1169 auto drawFunc = [&](){
+
1170 g.DrawGrid(GetColor(kSH), mWidgetBounds, hdiv, vdiv, &mBlend);
+
1171
+
1172 for (int p=0; p<mPlots.size(); p++)
+
1173 {
+
1174 for (int i=0; i<mPoints.size(); i++)
+
1175 {
+
1176 auto v = mPlots[p].func((static_cast<float>(i)/static_cast<float>(mPoints.size() - 1)));
+
1177 v = (v - mMin) / (mMax-mMin);
+
1178 mPoints[i] = static_cast<float>(v);
+
1179 }
+
1180
+
1181 g.DrawData(mPlots[p].color, plotsRECT, mPoints.data(), static_cast<int>(mPoints.size()), nullptr, &mBlend, mTrackSize);
+
1182 }
+
1183
+
1184 if (mStyle.drawFrame)
+
1185 g.DrawRect(GetColor(kFR), mWidgetBounds, &mBlend, mStyle.frameThickness);
+
1186 };
+
1187
+
1188 if(mUseLayer)
+
1189 {
+
1190 if (!g.CheckLayer(mLayer))
+
1191 {
+
1192 g.StartLayer(this, mRECT);
+
1193 drawFunc();
+
1194 mLayer = g.EndLayer();
+
1195 }
+
1196
+
1197 g.DrawLayer(mLayer, &mBlend);
+
1198 }
+
1199 else
+
1200 drawFunc();
+
1201}
+
1202
+
1203void IVPlotControl::OnResize()
+
1204{
+
1205 SetTargetRECT(MakeRects(mRECT));
+
1206 SetDirty(false);
+
1207}
+
1208
+
1209void IVPlotControl::AddPlotFunc(const IColor& color, const IPlotFunc& func)
+
1210{
+
1211 mPlots.push_back({color, func});
+
1212
+
1213 if(mLayer)
+
1214 mLayer->Invalidate();
+
1215 SetDirty(false);
+
1216}
+
1217
+
1218IVGroupControl::IVGroupControl(const IRECT& bounds, const char* label, float labelOffset, const IVStyle& style, IContainerBase::AttachFunc attachFunc, IContainerBase::ResizeFunc resizeFunc)
+
1219: IContainerBase(bounds, attachFunc, resizeFunc)
+
1220, IVectorBase(style)
+
1221, mLabelOffset(labelOffset)
+
1222{
+
1223 AttachIControl(this, label);
+
1224 mIgnoreMouse = true;
+
1225}
+
1226
+
1227IVGroupControl::IVGroupControl(const char* label, const char* groupName, float padL, float padT, float padR, float padB, const IVStyle& style)
+
1228: IContainerBase(IRECT())
+
1229, IVectorBase(style)
+
1230, mGroupName(groupName)
+
1231, mPadL(padL)
+
1232, mPadT(padT)
+
1233, mPadR(padR)
+
1234, mPadB(padB)
+
1235{
+
1236 AttachIControl(this, label);
+
1237 mIgnoreMouse = true;
+
1238}
+
1239
+
1240void IVGroupControl::OnInit()
+
1241{
+
1242 if(mGroupName.GetLength())
+
1243 {
+
1244 SetBoundsBasedOnGroup(mGroupName.Get(), mPadL, mPadT, mPadR, mPadB);
+
1245 }
+
1246}
+
1247
+
1248void IVGroupControl::Draw(IGraphics& g)
+
1249{
+
1250// const float cr = GetRoundedCornerRadius(mWidgetBounds);
+
1251// g.FillRoundRect(GetColor(kBG), mWidgetBounds, cr);
+
1252// g.FillRect(GetColor(kBG), mLabelBounds);
+
1253 DrawLabel(g);
+
1254 DrawWidget(g);
+
1255}
+
1256
+
1257void IVGroupControl::DrawWidget(IGraphics& g)
+
1258{
+
1259 const float cr = GetRoundedCornerRadius(mWidgetBounds);
+
1260 const float ft = mStyle.frameThickness;
+
1261 const float hft = ft/2.f;
+
1262
+
1263 int nPaths = /*mStyle.drawShadows ? 2 :*/ 1;
+
1264
+
1265 auto b = mWidgetBounds.GetPadded(/*mStyle.drawShadows ? -mStyle.shadowOffset :*/ 0.f);
+
1266
+
1267 auto labelR = mLabelBounds.Empty() ? mRECT.MW() : mLabelBounds.R;
+
1268 auto labelL = mLabelBounds.Empty() ? mRECT.MW() : mLabelBounds.L;
+
1269
+
1270 for(int i=0; i < nPaths; i++)
+
1271 {
+
1272 const float offset = i == 0 ? 0.f : mStyle.shadowOffset;
+
1273 g.PathClear();
+
1274 g.PathMoveTo(labelR, b.T + hft - offset);
+
1275 g.PathArc(b.R - cr - hft - offset, b.T + cr + hft - offset, cr, 0.f, 90.f);
+
1276 g.PathArc(b.R - cr - hft - offset, b.B - cr - hft - offset, cr, 90.f, 180.f);
+
1277 g.PathArc(b.L + cr + hft - offset, b.B - cr - hft - offset, cr, 180.f, 270.f);
+
1278 g.PathArc(b.L + cr + hft - offset, b.T + cr + hft - offset, cr, 270.f, 360.f);
+
1279 g.PathLineTo(labelL, b.T + hft - offset);
+
1280 g.PathStroke(mStyle.drawShadows ? GetColor(i == 0 ? kSH : kFR) : GetColor(kFR), ft);
+
1281 }
+
1282}
+
1283
+
1284void IVGroupControl::OnResize()
+
1285{
+
1286 SetTargetRECT(MakeRects(mRECT));
+
1287 mLabelBounds.HPad(mLabelPadding);
+
1288 mWidgetBounds.Offset(0, -(mLabelBounds.H()/2.f) - (mStyle.frameThickness/2.f), 0, 0);
+
1289 const float cr = GetRoundedCornerRadius(mWidgetBounds);
+
1290 mLabelBounds.Translate(mRECT.L - mLabelBounds.L + mStyle.frameThickness + mLabelOffset + cr, 0.f);
+
1291 SetDirty(false);
+
1292}
+
1293
+
1294void IVGroupControl::SetBoundsBasedOnGroup(const char* groupName, float padL, float padT, float padR, float padB)
+
1295{
+
1296 mGroupName.Set(groupName);
+
1297
+
1298 IRECT unionRect;
+
1299 GetUI()->ForControlInGroup(mGroupName.Get(), [&unionRect](IControl* pControl) { unionRect = unionRect.Union(pControl->GetRECT()); });
+
1300 float halfLabelHeight = mLabelBounds.H()/2.f;
+
1301 unionRect.GetVPadded(halfLabelHeight);
+
1302 mRECT = unionRect.GetPadded(padL, padT, padR, padB);
+
1303
+
1304 OnResize();
+
1305}
+
1306
+
1307IVColorSwatchControl::IVColorSwatchControl(const IRECT& bounds, const char* label, ColorChosenFunc func, const IVStyle& style, ECellLayout layout,
+
1308 const std::initializer_list<EVColor>& colorIDs, const std::initializer_list<const char*>& labelsForIDs)
+
1309: IControl(bounds)
+
1310, IVectorBase(style)
+
1311, mColorChosenFunc(func)
+
1312, mLayout(layout)
+
1313, mColorIdForCells(colorIDs)
+
1314{
+
1315 assert(colorIDs.size() == labelsForIDs.size());
+
1316
+
1317 AttachIControl(this, label);
+
1318 mCellRects.Resize(static_cast<int>(mColorIdForCells.size()));
+
1319 mText.mAlign = mStyle.valueText.mAlign = EAlign::Far;
+
1320
+
1321 for (int i=0;i<colorIDs.size();i++)
+
1322 {
+
1323 mLabels.Add(new WDL_String(labelsForIDs.begin()[i]));
+
1324 }
+
1325}
+
1326
+
1327void IVColorSwatchControl::Draw(IGraphics& g)
+
1328{
+
1329 DrawWidget(g);
+
1330 DrawLabel(g);
+
1331}
+
1332
+
1333void IVColorSwatchControl::DrawWidget(IGraphics& g)
+
1334{
+
1335 for (int i=0; i< mColorIdForCells.size(); i++)
+
1336 {
+
1337 WDL_String* pStr = mLabels.Get(i);
+
1338 IRECT r = mCellRects.Get()[i];
+
1339 IRECT buttonBounds = r.FracRectHorizontal(pStr->GetLength() ? 0.25f : 1.f, true);
+
1340 g.FillRect(GetColor(mColorIdForCells[i]), buttonBounds, &mBlend);
+
1341 g.DrawRect(i == mCellOver ? COLOR_GRAY : COLOR_DARK_GRAY, buttonBounds.GetPadded(0.5f), &mBlend);
+
1342
+
1343 if(pStr->GetLength())
+
1344 g.DrawText(mStyle.valueText, mLabels.Get(i)->Get(), r.FracRectHorizontal(0.7f, false), &mBlend);
+
1345 }
+
1346}
+
1347
+
1348void IVColorSwatchControl::OnResize()
+
1349{
+
1350 SetTargetRECT(MakeRects(mRECT, true));
+
1351
+
1352 int rows = 3;
+
1353 int columns = 3;
+
1354
+
1355 if(mLayout == ECellLayout::kGrid)
1356 {
-
1357 rows = 1;
-
1358 columns = static_cast<int>(mColorIdForCells.size());
+
1357 rows = 3;
+
1358 columns = 3;
1359 }
-
1360 else if (mLayout == ECellLayout::kVertical)
+
1360 else if (mLayout == ECellLayout::kHorizontal)
1361 {
-
1362 rows = static_cast<int>(mColorIdForCells.size());
-
1363 columns = 1;
+
1362 rows = 1;
+
1363 columns = static_cast<int>(mColorIdForCells.size());
1364 }
-
1365
-
1366 for (int i=0; i< mColorIdForCells.size(); i++)
-
1367 {
-
1368 mCellRects.Get()[i] = mWidgetBounds.GetGridCell(i, rows, columns).GetPadded(-2);
+
1365 else if (mLayout == ECellLayout::kVertical)
+
1366 {
+
1367 rows = static_cast<int>(mColorIdForCells.size());
+
1368 columns = 1;
1369 }
-
1370
-
1371 SetDirty(false);
-
1372}
-
1373
-
1374void IVColorSwatchControl::OnMouseOver(float x, float y, const IMouseMod& mod)
-
1375{
-
1376 for (int i=0; i<mColorIdForCells.size(); i++)
-
1377 {
-
1378 if(mCellRects.Get()[i].Contains(x, y))
-
1379 {
-
1380 mCellOver = i;
-
1381 SetDirty();
-
1382 return;
-
1383 }
-
1384 }
-
1385
-
1386 mCellOver = -1;
-
1387 SetDirty();
-
1388}
-
1389
-
1390void IVColorSwatchControl::OnMouseOut()
-
1391{
-
1392 mCellOver = -1;
-
1393 SetDirty();
-
1394}
-
1395
-
1396void IVColorSwatchControl::OnMouseDown(float x, float y, const IMouseMod& mod)
-
1397{
-
1398 int cellClicked=-1;
-
1399
-
1400 for (int i=0; i<mColorIdForCells.size(); i++)
-
1401 {
-
1402 if(mCellRects.Get()[i].Contains(x, y))
-
1403 {
-
1404 cellClicked = i;
-
1405 break;
-
1406 }
-
1407 }
-
1408
-
1409 if(cellClicked > -1)
-
1410 {
-
1411 EVColor vColorClicked = mColorIdForCells[cellClicked];
-
1412 IColor color = GetColor(vColorClicked);
-
1413 GetUI()->PromptForColor(color, "Choose a color", [this, cellClicked, vColorClicked](IColor result) {
-
1414 SetColor(vColorClicked, result);
-
1415 if(mColorChosenFunc)
-
1416 mColorChosenFunc(cellClicked, result);
-
1417 });
-
1418 }
-
1419}
-
1420
-
1421#pragma mark - SVG CONTROLS
-
1422
-
1423ISVGButtonControl::ISVGButtonControl(const IRECT& bounds, IActionFunction aF, const ISVG& offImage, const ISVG& onImage)
-
1424: IButtonControlBase(bounds, aF)
-
1425, mOffSVG(offImage)
-
1426, mOnSVG(onImage)
-
1427{
-
1428}
-
1429
-
1430
-
1431ISVGButtonControl::ISVGButtonControl(const IRECT& bounds, IActionFunction aF, const ISVG& image, const std::array<IColor, 4> colors, EColorReplacement colorReplacement)
-
1432: IButtonControlBase(bounds, aF)
-
1433, mOffSVG(image)
-
1434, mOnSVG(image)
-
1435, mColors(colors)
-
1436, mColorReplacement(colorReplacement)
-
1437{
-
1438}
-
1439
-
1440void ISVGButtonControl::Draw(IGraphics& g)
-
1441{
-
1442 IColor* pOnColorFill = nullptr;
-
1443 IColor* pOffColorFill = nullptr;
-
1444 IColor* pOnColorStroke = nullptr;
-
1445 IColor* pOffColorStroke = nullptr;
-
1446
-
1447 switch (mColorReplacement) {
-
1448
-
1449 case EColorReplacement::None:
-
1450 break;
-
1451 case EColorReplacement::Fill:
-
1452 pOnColorFill = mMouseIsOver ? &mColors[3] : &mColors[1];
-
1453 pOffColorFill = mMouseIsOver ? &mColors[2] : &mColors[0];
-
1454 break;
-
1455 case EColorReplacement::Stroke:
-
1456 pOnColorStroke = mMouseIsOver ? &mColors[3] : &mColors[1];
-
1457 pOffColorStroke = mMouseIsOver ? &mColors[2] : &mColors[0];
-
1458 break;
-
1459 }
-
1460
-
1461 if (GetValue() > 0.5)
-
1462 g.DrawSVG(mOnSVG, mRECT, &mBlend, pOnColorStroke, pOnColorFill);
-
1463 else
-
1464 g.DrawSVG(mOffSVG, mRECT, &mBlend, pOffColorStroke, pOffColorFill);
-
1465}
-
1466
-
1467ISVGToggleControl::ISVGToggleControl(const IRECT& bounds, IActionFunction aF, const ISVG& offImage, const ISVG& onImage)
-
1468: ISwitchControlBase(bounds, kNoParameter, aF)
-
1469, mOffSVG(offImage)
-
1470, mOnSVG(onImage)
-
1471{
-
1472}
-
1473
-
1474ISVGToggleControl::ISVGToggleControl(const IRECT& bounds, int paramIdx, const ISVG& offImage, const ISVG& onImage)
-
1475: ISwitchControlBase(bounds, paramIdx)
-
1476, mOffSVG(offImage)
-
1477, mOnSVG(onImage)
-
1478{
-
1479}
-
1480
-
1481ISVGToggleControl::ISVGToggleControl(const IRECT& bounds, IActionFunction aF, const ISVG& image, const std::array<IColor, 4> colors, EColorReplacement colorReplacement)
-
1482: ISwitchControlBase(bounds, kNoParameter, aF)
-
1483, mOffSVG(image)
-
1484, mOnSVG(image)
-
1485, mColors(colors)
-
1486, mColorReplacement(colorReplacement)
-
1487{
-
1488}
-
1489
-
1490ISVGToggleControl::ISVGToggleControl(const IRECT& bounds, int paramIdx, const ISVG& image, const std::array<IColor, 4> colors, EColorReplacement colorReplacement)
-
1491: ISwitchControlBase(bounds, paramIdx)
-
1492, mOffSVG(image)
-
1493, mOnSVG(image)
-
1494, mColors(colors)
-
1495, mColorReplacement(colorReplacement)
-
1496{
-
1497}
-
1498
-
1499void ISVGToggleControl::Draw(IGraphics& g)
-
1500{
-
1501 IColor* pOnColorFill = nullptr;
-
1502 IColor* pOffColorFill = nullptr;
-
1503 IColor* pOnColorStroke = nullptr;
-
1504 IColor* pOffColorStroke = nullptr;
-
1505
-
1506 switch (mColorReplacement) {
-
1507 case EColorReplacement::None:
-
1508 break;
-
1509 case EColorReplacement::Fill:
-
1510 pOnColorFill = mMouseIsOver ? &mColors[3] : &mColors[1];
-
1511 pOffColorFill = mMouseIsOver ? &mColors[2] : &mColors[0];
-
1512 break;
-
1513 case EColorReplacement::Stroke:
-
1514 pOnColorStroke = mMouseIsOver ? &mColors[3] : &mColors[1];
-
1515 pOffColorStroke = mMouseIsOver ? &mColors[2] : &mColors[0];
-
1516 break;
-
1517 }
-
1518
-
1519 if (GetValue() > 0.5)
-
1520 g.DrawSVG(mOnSVG, mRECT, &mBlend, pOnColorStroke, pOnColorFill);
-
1521 else
-
1522 g.DrawSVG(mOffSVG, mRECT, &mBlend, pOffColorStroke, pOffColorFill);
-
1523}
-
1524
-
1525ISVGKnobControl::ISVGKnobControl(const IRECT& bounds, const ISVG& svg, int paramIdx)
-
1526: IKnobControlBase(bounds, paramIdx)
-
1527, mSVG(svg)
-
1528{
-
1529}
-
1530
-
1531void ISVGKnobControl::Draw(IGraphics& g)
-
1532{
-
1533 g.DrawRotatedSVG(mSVG, mRECT.MW(), mRECT.MH(), mRECT.W(), mRECT.H(), mStartAngle + GetValue() * (mEndAngle - mStartAngle), &mBlend);
+
1370
+
1371 for (int i=0; i< mColorIdForCells.size(); i++)
+
1372 {
+
1373 mCellRects.Get()[i] = mWidgetBounds.GetGridCell(i, rows, columns).GetPadded(-2);
+
1374 }
+
1375
+
1376 SetDirty(false);
+
1377}
+
1378
+
1379void IVColorSwatchControl::OnMouseOver(float x, float y, const IMouseMod& mod)
+
1380{
+
1381 for (int i=0; i<mColorIdForCells.size(); i++)
+
1382 {
+
1383 if(mCellRects.Get()[i].Contains(x, y))
+
1384 {
+
1385 mCellOver = i;
+
1386 SetDirty();
+
1387 return;
+
1388 }
+
1389 }
+
1390
+
1391 mCellOver = -1;
+
1392 SetDirty();
+
1393}
+
1394
+
1395void IVColorSwatchControl::OnMouseOut()
+
1396{
+
1397 mCellOver = -1;
+
1398 SetDirty();
+
1399}
+
1400
+
1401void IVColorSwatchControl::OnMouseDown(float x, float y, const IMouseMod& mod)
+
1402{
+
1403 int cellClicked=-1;
+
1404
+
1405 for (int i=0; i<mColorIdForCells.size(); i++)
+
1406 {
+
1407 if(mCellRects.Get()[i].Contains(x, y))
+
1408 {
+
1409 cellClicked = i;
+
1410 break;
+
1411 }
+
1412 }
+
1413
+
1414 if(cellClicked > -1)
+
1415 {
+
1416 EVColor vColorClicked = mColorIdForCells[cellClicked];
+
1417 IColor color = GetColor(vColorClicked);
+
1418 GetUI()->PromptForColor(color, "Choose a color", [this, cellClicked, vColorClicked](IColor result) {
+
1419 SetColor(vColorClicked, result);
+
1420 if(mColorChosenFunc)
+
1421 mColorChosenFunc(cellClicked, result);
+
1422 });
+
1423 }
+
1424}
+
1425
+
1426#pragma mark - SVG CONTROLS
+
1427
+
1428ISVGButtonControl::ISVGButtonControl(const IRECT& bounds, IActionFunction aF, const ISVG& offImage, const ISVG& onImage)
+
1429: IButtonControlBase(bounds, aF)
+
1430, mOffSVG(offImage)
+
1431, mOnSVG(onImage)
+
1432{
+
1433}
+
1434
+
1435
+
1436ISVGButtonControl::ISVGButtonControl(const IRECT& bounds, IActionFunction aF, const ISVG& image, const std::array<IColor, 4> colors, EColorReplacement colorReplacement)
+
1437: IButtonControlBase(bounds, aF)
+
1438, mOffSVG(image)
+
1439, mOnSVG(image)
+
1440, mColors(colors)
+
1441, mColorReplacement(colorReplacement)
+
1442{
+
1443}
+
1444
+
1445void ISVGButtonControl::Draw(IGraphics& g)
+
1446{
+
1447 IColor* pOnColorFill = nullptr;
+
1448 IColor* pOffColorFill = nullptr;
+
1449 IColor* pOnColorStroke = nullptr;
+
1450 IColor* pOffColorStroke = nullptr;
+
1451
+
1452 switch (mColorReplacement) {
+
1453
+
1454 case EColorReplacement::None:
+
1455 break;
+
1456 case EColorReplacement::Fill:
+
1457 pOnColorFill = mMouseIsOver ? &mColors[3] : &mColors[1];
+
1458 pOffColorFill = mMouseIsOver ? &mColors[2] : &mColors[0];
+
1459 break;
+
1460 case EColorReplacement::Stroke:
+
1461 pOnColorStroke = mMouseIsOver ? &mColors[3] : &mColors[1];
+
1462 pOffColorStroke = mMouseIsOver ? &mColors[2] : &mColors[0];
+
1463 break;
+
1464 }
+
1465
+
1466 if (GetValue() > 0.5)
+
1467 g.DrawSVG(mOnSVG, mRECT, &mBlend, pOnColorStroke, pOnColorFill);
+
1468 else
+
1469 g.DrawSVG(mOffSVG, mRECT, &mBlend, pOffColorStroke, pOffColorFill);
+
1470}
+
1471
+
1472ISVGToggleControl::ISVGToggleControl(const IRECT& bounds, IActionFunction aF, const ISVG& offImage, const ISVG& onImage)
+
1473: ISwitchControlBase(bounds, kNoParameter, aF)
+
1474, mOffSVG(offImage)
+
1475, mOnSVG(onImage)
+
1476{
+
1477}
+
1478
+
1479ISVGToggleControl::ISVGToggleControl(const IRECT& bounds, int paramIdx, const ISVG& offImage, const ISVG& onImage)
+
1480: ISwitchControlBase(bounds, paramIdx)
+
1481, mOffSVG(offImage)
+
1482, mOnSVG(onImage)
+
1483{
+
1484}
+
1485
+
1486ISVGToggleControl::ISVGToggleControl(const IRECT& bounds, IActionFunction aF, const ISVG& image, const std::array<IColor, 4> colors, EColorReplacement colorReplacement)
+
1487: ISwitchControlBase(bounds, kNoParameter, aF)
+
1488, mOffSVG(image)
+
1489, mOnSVG(image)
+
1490, mColors(colors)
+
1491, mColorReplacement(colorReplacement)
+
1492{
+
1493}
+
1494
+
1495ISVGToggleControl::ISVGToggleControl(const IRECT& bounds, int paramIdx, const ISVG& image, const std::array<IColor, 4> colors, EColorReplacement colorReplacement)
+
1496: ISwitchControlBase(bounds, paramIdx)
+
1497, mOffSVG(image)
+
1498, mOnSVG(image)
+
1499, mColors(colors)
+
1500, mColorReplacement(colorReplacement)
+
1501{
+
1502}
+
1503
+
1504void ISVGToggleControl::Draw(IGraphics& g)
+
1505{
+
1506 IColor* pOnColorFill = nullptr;
+
1507 IColor* pOffColorFill = nullptr;
+
1508 IColor* pOnColorStroke = nullptr;
+
1509 IColor* pOffColorStroke = nullptr;
+
1510
+
1511 switch (mColorReplacement) {
+
1512 case EColorReplacement::None:
+
1513 break;
+
1514 case EColorReplacement::Fill:
+
1515 pOnColorFill = mMouseIsOver ? &mColors[3] : &mColors[1];
+
1516 pOffColorFill = mMouseIsOver ? &mColors[2] : &mColors[0];
+
1517 break;
+
1518 case EColorReplacement::Stroke:
+
1519 pOnColorStroke = mMouseIsOver ? &mColors[3] : &mColors[1];
+
1520 pOffColorStroke = mMouseIsOver ? &mColors[2] : &mColors[0];
+
1521 break;
+
1522 }
+
1523
+
1524 if (GetValue() > 0.5)
+
1525 g.DrawSVG(mOnSVG, mRECT, &mBlend, pOnColorStroke, pOnColorFill);
+
1526 else
+
1527 g.DrawSVG(mOffSVG, mRECT, &mBlend, pOffColorStroke, pOffColorFill);
+
1528}
+
1529
+
1530ISVGKnobControl::ISVGKnobControl(const IRECT& bounds, const ISVG& svg, int paramIdx)
+
1531: IKnobControlBase(bounds, paramIdx)
+
1532, mSVG(svg)
+
1533{
1534}
1535
-
1536void ISVGKnobControl::SetSVG(ISVG& svg)
+
1536void ISVGKnobControl::Draw(IGraphics& g)
1537{
-
1538 mSVG = svg;
-
1539 SetDirty(false);
-
1540}
-
1541
-
1542ISVGSwitchControl::ISVGSwitchControl(const IRECT& bounds, const std::initializer_list<ISVG>& svgs, int paramIdx, IActionFunction aF)
-
1543: ISwitchControlBase(bounds, paramIdx, aF, static_cast<int>(svgs.size()))
-
1544, mSVGs(svgs)
-
1545{
-
1546}
-
1547
-
1548void ISVGSwitchControl::Draw(IGraphics& g)
-
1549{
-
1550 g.DrawSVG(mSVGs[GetSelectedIdx()], mRECT, &mBlend);
+
1538 g.DrawRotatedSVG(mSVG, mRECT.MW(), mRECT.MH(), mRECT.W(), mRECT.H(), mStartAngle + GetValue() * (mEndAngle - mStartAngle), &mBlend);
+
1539}
+
1540
+
1541void ISVGKnobControl::SetSVG(ISVG& svg)
+
1542{
+
1543 mSVG = svg;
+
1544 SetDirty(false);
+
1545}
+
1546
+
1547ISVGSwitchControl::ISVGSwitchControl(const IRECT& bounds, const std::initializer_list<ISVG>& svgs, int paramIdx, IActionFunction aF)
+
1548: ISwitchControlBase(bounds, paramIdx, aF, static_cast<int>(svgs.size()))
+
1549, mSVGs(svgs)
+
1550{
1551}
1552
-
1553ISVGSliderControl::ISVGSliderControl(const IRECT& bounds, const ISVG& handleSVG, const ISVG& trackSVG, int paramIdx, EDirection dir, double gearing)
-
1554: ISliderControlBase(bounds, paramIdx, dir, gearing)
-
1555, mHandleSVG(handleSVG)
-
1556, mTrackSVG(trackSVG)
-
1557{
-
1558}
-
1559
-
1560void ISVGSliderControl::Draw(IGraphics& g)
-
1561{
-
1562 g.DrawSVG(mTrackSVG, mTrackSVGBounds, &mBlend);
-
1563 g.DrawSVG(mHandleSVG, GetHandleBounds(GetValue()), &mBlend);
-
1564}
-
1565
-
1566void ISVGSliderControl::OnResize()
-
1567{
-
1568 auto trackAspectRatio = mTrackSVG.W() / mTrackSVG.H();
-
1569 auto handleAspectRatio = mHandleSVG.W() / mHandleSVG.H();
-
1570 auto handleOverTrackHeight = mHandleSVG.H() / mTrackSVG.H();
-
1571
-
1572 IRECT handleBoundsAtMidPoint;
-
1573
-
1574 if (mDirection == EDirection::Vertical)
-
1575 {
-
1576 mTrackSVGBounds = mRECT.GetCentredInside(mRECT.H() * trackAspectRatio, mRECT.H());
-
1577
-
1578 handleBoundsAtMidPoint = mRECT.GetCentredInside(mRECT.H() * handleAspectRatio * handleOverTrackHeight, mRECT.H() * handleOverTrackHeight);
-
1579 mHandleBoundsAtMax = { handleBoundsAtMidPoint.L, mTrackSVGBounds.T, handleBoundsAtMidPoint.R, mTrackSVGBounds.T + handleBoundsAtMidPoint.H() };
-
1580 mTrackBounds = mTrackSVGBounds.GetPadded(0, -handleBoundsAtMidPoint.H(), 0, 0);
-
1581 }
-
1582 else
-
1583 {
-
1584 mTrackSVGBounds = mRECT.GetCentredInside(mRECT.W(), mRECT.W() / trackAspectRatio);
-
1585 auto handleHeight = mTrackSVGBounds.H() * handleOverTrackHeight;
-
1586 handleBoundsAtMidPoint = mRECT.GetCentredInside(handleHeight * handleAspectRatio, handleHeight);
-
1587 auto halfHeight = handleBoundsAtMidPoint.H() / 2.f;
-
1588 mHandleBoundsAtMax = { mTrackSVGBounds.R - handleBoundsAtMidPoint.W(), mTrackSVGBounds.MH() - halfHeight, mTrackSVGBounds.R, mTrackSVGBounds.MH() + halfHeight };
-
1589 mTrackBounds = mTrackSVGBounds.GetPadded(-handleBoundsAtMidPoint.W(), 0, 0, 0);
-
1590 }
-
1591
-
1592 SetDirty(false);
-
1593}
-
1594
-
1595IRECT ISVGSliderControl::GetHandleBounds(double value) const
-
1596{
-
1597 if (value < 0.0)
-
1598 value = GetValue();
+
1553void ISVGSwitchControl::Draw(IGraphics& g)
+
1554{
+
1555 g.DrawSVG(mSVGs[GetSelectedIdx()], mRECT, &mBlend);
+
1556}
+
1557
+
1558ISVGSliderControl::ISVGSliderControl(const IRECT& bounds, const ISVG& handleSVG, const ISVG& trackSVG, int paramIdx, EDirection dir, double gearing)
+
1559: ISliderControlBase(bounds, paramIdx, dir, gearing)
+
1560, mHandleSVG(handleSVG)
+
1561, mTrackSVG(trackSVG)
+
1562{
+
1563}
+
1564
+
1565void ISVGSliderControl::Draw(IGraphics& g)
+
1566{
+
1567 g.DrawSVG(mTrackSVG, mTrackSVGBounds, &mBlend);
+
1568 g.DrawSVG(mHandleSVG, GetHandleBounds(GetValue()), &mBlend);
+
1569}
+
1570
+
1571void ISVGSliderControl::OnResize()
+
1572{
+
1573 auto trackAspectRatio = mTrackSVG.W() / mTrackSVG.H();
+
1574 auto handleAspectRatio = mHandleSVG.W() / mHandleSVG.H();
+
1575 auto handleOverTrackHeight = mHandleSVG.H() / mTrackSVG.H();
+
1576
+
1577 IRECT handleBoundsAtMidPoint;
+
1578
+
1579 if (mDirection == EDirection::Vertical)
+
1580 {
+
1581 mTrackSVGBounds = mRECT.GetCentredInside(mRECT.H() * trackAspectRatio, mRECT.H());
+
1582
+
1583 handleBoundsAtMidPoint = mRECT.GetCentredInside(mRECT.H() * handleAspectRatio * handleOverTrackHeight, mRECT.H() * handleOverTrackHeight);
+
1584 mHandleBoundsAtMax = { handleBoundsAtMidPoint.L, mTrackSVGBounds.T, handleBoundsAtMidPoint.R, mTrackSVGBounds.T + handleBoundsAtMidPoint.H() };
+
1585 mTrackBounds = mTrackSVGBounds.GetPadded(0, -handleBoundsAtMidPoint.H(), 0, 0);
+
1586 }
+
1587 else
+
1588 {
+
1589 mTrackSVGBounds = mRECT.GetCentredInside(mRECT.W(), mRECT.W() / trackAspectRatio);
+
1590 auto handleHeight = mTrackSVGBounds.H() * handleOverTrackHeight;
+
1591 handleBoundsAtMidPoint = mRECT.GetCentredInside(handleHeight * handleAspectRatio, handleHeight);
+
1592 auto halfHeight = handleBoundsAtMidPoint.H() / 2.f;
+
1593 mHandleBoundsAtMax = { mTrackSVGBounds.R - handleBoundsAtMidPoint.W(), mTrackSVGBounds.MH() - halfHeight, mTrackSVGBounds.R, mTrackSVGBounds.MH() + halfHeight };
+
1594 mTrackBounds = mTrackSVGBounds.GetPadded(-handleBoundsAtMidPoint.W(), 0, 0, 0);
+
1595 }
+
1596
+
1597 SetDirty(false);
+
1598}
1599
-
1600 IRECT r = mHandleBoundsAtMax;
-
1601
-
1602 if (mDirection == EDirection::Vertical)
-
1603 {
-
1604 float offs = (1.f - (float) value) * mTrackBounds.H();
-
1605 r.T += offs;
-
1606 r.B += offs;
-
1607 }
-
1608 else
-
1609 {
-
1610 float offs = (1.f - (float) value) * mTrackBounds.W();
-
1611 r.L -= offs;
-
1612 r.R -= offs;
-
1613 }
-
1614
-
1615 return r;
-
1616}
-
1617
-
1618#pragma mark - BITMAP CONTROLS
+
1600IRECT ISVGSliderControl::GetHandleBounds(double value) const
+
1601{
+
1602 if (value < 0.0)
+
1603 value = GetValue();
+
1604
+
1605 IRECT r = mHandleBoundsAtMax;
+
1606
+
1607 if (mDirection == EDirection::Vertical)
+
1608 {
+
1609 float offs = (1.f - (float) value) * mTrackBounds.H();
+
1610 r.T += offs;
+
1611 r.B += offs;
+
1612 }
+
1613 else
+
1614 {
+
1615 float offs = (1.f - (float) value) * mTrackBounds.W();
+
1616 r.L -= offs;
+
1617 r.R -= offs;
+
1618 }
1619
-
1620IBButtonControl::IBButtonControl(float x, float y, const IBitmap& bitmap, IActionFunction aF)
-
1621 : IButtonControlBase(IRECT(x, y, bitmap), aF)
-
1622 , IBitmapBase(bitmap)
-
1623{
-
1624 AttachIControl(this);
-
1625}
-
1626
-
1627IBButtonControl::IBButtonControl(const IRECT& bounds, const IBitmap& bitmap, IActionFunction aF)
-
1628 : IButtonControlBase(bounds.GetCentredInside(bitmap), aF)
-
1629 , IBitmapBase(bitmap)
-
1630{
-
1631 AttachIControl(this);
-
1632}
-
1633
-
1634IBSwitchControl::IBSwitchControl(float x, float y, const IBitmap& bitmap, int paramIdx)
-
1635: ISwitchControlBase(IRECT(x, y, bitmap), paramIdx)
-
1636, IBitmapBase(bitmap)
-
1637{
-
1638 AttachIControl(this);
-
1639}
-
1640
-
1641IBSwitchControl::IBSwitchControl(const IRECT& bounds, const IBitmap& bitmap, int paramIdx)
-
1642: ISwitchControlBase(bounds.GetCentredInside(bitmap), paramIdx)
-
1643, IBitmapBase(bitmap)
-
1644{
-
1645 AttachIControl(this);
-
1646}
-
1647
-
1648void IBSwitchControl::OnMouseDown(float x, float y, const IMouseMod& mod)
+
1620 return r;
+
1621}
+
1622
+
1623#pragma mark - BITMAP CONTROLS
+
1624
+
1625IBButtonControl::IBButtonControl(float x, float y, const IBitmap& bitmap, IActionFunction aF)
+
1626 : IButtonControlBase(IRECT(x, y, bitmap), aF)
+
1627 , IBitmapBase(bitmap)
+
1628{
+
1629 AttachIControl(this);
+
1630}
+
1631
+
1632IBButtonControl::IBButtonControl(const IRECT& bounds, const IBitmap& bitmap, IActionFunction aF)
+
1633 : IButtonControlBase(bounds.GetCentredInside(bitmap), aF)
+
1634 , IBitmapBase(bitmap)
+
1635{
+
1636 AttachIControl(this);
+
1637}
+
1638
+
1639IBSwitchControl::IBSwitchControl(float x, float y, const IBitmap& bitmap, int paramIdx)
+
1640: ISwitchControlBase(IRECT(x, y, bitmap), paramIdx)
+
1641, IBitmapBase(bitmap)
+
1642{
+
1643 AttachIControl(this);
+
1644}
+
1645
+
1646IBSwitchControl::IBSwitchControl(const IRECT& bounds, const IBitmap& bitmap, int paramIdx)
+
1647: ISwitchControlBase(bounds.GetCentredInside(bitmap), paramIdx)
+
1648, IBitmapBase(bitmap)
1649{
-
1650 if (mBitmap.N() > 1)
-
1651 SetValue(GetValue() + 1.0 / static_cast<double>(mBitmap.N() - 1));
-
1652 else
-
1653 SetValue(GetValue() + 1.0);
-
1654
-
1655 if (GetValue() > 1.001)
-
1656 SetValue(0.);
-
1657
-
1658 SetDirty();
-
1659}
-
1660
-
1661IBSliderControl::IBSliderControl(float x, float y, float trackLength, const IBitmap& handleBitmap, const IBitmap& trackBitmap, int paramIdx, EDirection dir, double gearing)
-
1662: ISliderControlBase(IRECT::MakeXYWH(x, y,
-
1663 dir == EDirection::Vertical ? handleBitmap.W() : trackLength,
-
1664 dir == EDirection::Vertical ? trackLength : handleBitmap.H()),
-
1665 paramIdx, dir, gearing,
-
1666 float(dir == EDirection::Vertical ? handleBitmap.H() : handleBitmap.W()))
-
1667, IBitmapBase(handleBitmap)
-
1668, mTrackBitmap(trackBitmap)
-
1669{
-
1670 AttachIControl(this);
-
1671}
-
1672
-
1673IBSliderControl::IBSliderControl(const IRECT& bounds, const IBitmap& handleBitmap, const IBitmap& trackBitmap, int paramIdx, EDirection dir, double gearing)
-
1674: ISliderControlBase(bounds, paramIdx, dir, gearing, float(dir == EDirection::Vertical ? handleBitmap.H() : handleBitmap.W()))
-
1675, IBitmapBase(handleBitmap)
-
1676, mTrackBitmap(trackBitmap)
-
1677{
-
1678 AttachIControl(this);
-
1679}
-
1680
-
1681void IBSliderControl::Draw(IGraphics& g)
+
1650 AttachIControl(this);
+
1651}
+
1652
+
1653void IBSwitchControl::OnMouseDown(float x, float y, const IMouseMod& mod)
+
1654{
+
1655 if (mBitmap.N() > 1)
+
1656 SetValue(GetValue() + 1.0 / static_cast<double>(mBitmap.N() - 1));
+
1657 else
+
1658 SetValue(GetValue() + 1.0);
+
1659
+
1660 if (GetValue() > 1.001)
+
1661 SetValue(0.);
+
1662
+
1663 SetDirty();
+
1664}
+
1665
+
1666IBSliderControl::IBSliderControl(float x, float y, float trackLength, const IBitmap& handleBitmap, const IBitmap& trackBitmap, int paramIdx, EDirection dir, double gearing)
+
1667: ISliderControlBase(IRECT::MakeXYWH(x, y,
+
1668 dir == EDirection::Vertical ? handleBitmap.W() : trackLength,
+
1669 dir == EDirection::Vertical ? trackLength : handleBitmap.H()),
+
1670 paramIdx, dir, gearing,
+
1671 float(dir == EDirection::Vertical ? handleBitmap.H() : handleBitmap.W()))
+
1672, IBitmapBase(handleBitmap)
+
1673, mTrackBitmap(trackBitmap)
+
1674{
+
1675 AttachIControl(this);
+
1676}
+
1677
+
1678IBSliderControl::IBSliderControl(const IRECT& bounds, const IBitmap& handleBitmap, const IBitmap& trackBitmap, int paramIdx, EDirection dir, double gearing)
+
1679: ISliderControlBase(bounds, paramIdx, dir, gearing, float(dir == EDirection::Vertical ? handleBitmap.H() : handleBitmap.W()))
+
1680, IBitmapBase(handleBitmap)
+
1681, mTrackBitmap(trackBitmap)
1682{
-
1683 if(mTrackBitmap.IsValid())
-
1684 g.DrawBitmap(mTrackBitmap, mRECT.GetCentredInside(IRECT(0, 0, mTrackBitmap)), 0, 0, &mBlend);
-
1685
-
1686 g.DrawBitmap(mBitmap, GetHandleBounds(), 1, &mBlend);
-
1687}
-
1688
-
1689IRECT IBSliderControl::GetHandleBounds(double value) const
-
1690{
-
1691 if (value < 0.0)
-
1692 value = GetValue();
-
1693
-
1694 IRECT r(mTrackBounds.L, mTrackBounds.T, mBitmap);
-
1695
-
1696 if (mDirection == EDirection::Vertical)
-
1697 r.Translate(0.f, (1.f - static_cast<float>(value)) * (mTrackBounds.H() - static_cast<float>(mBitmap.H())));
-
1698 else
-
1699 r.Translate(static_cast<float>(value) * (mTrackBounds.W() - static_cast<float>(mBitmap.W())), 0.f);
-
1700
-
1701 return r;
-
1702}
-
1703
-
1704void IBSliderControl::OnResize()
-
1705{
-
1706 if (mDirection == EDirection::Vertical)
-
1707 {
-
1708 if(mTrackBitmap.IsValid())
-
1709 mTrackBounds = mRECT.GetCentredInside(IRECT(0, 0, mTrackBitmap));
-
1710 else
-
1711 {
-
1712 const float halfWidth = static_cast<float>(mBitmap.W()) / 2.f;
-
1713 mTrackBounds = mRECT.GetMidHPadded(halfWidth);
-
1714 }
-
1715 }
-
1716 else
-
1717 {
-
1718 if(mTrackBitmap.IsValid())
-
1719 mTrackBounds = mRECT.GetCentredInside(IRECT(0, 0, mTrackBitmap));
-
1720 else
-
1721 {
-
1722 const float halfHeight = static_cast<float>(mBitmap.H()) / 2.f;
-
1723 mTrackBounds = mRECT.GetMidVPadded(halfHeight);
-
1724 }
-
1725 }
-
1726
-
1727 SetDirty(false);
-
1728}
-
1729
-
1730void IBKnobRotaterControl::Draw(IGraphics& g)
-
1731{
-
1732 const double angle = -130.0 + GetValue() * 260.0;
-
1733 g.DrawRotatedBitmap(mBitmap, mRECT.MW(), mRECT.MH(), angle, &mBlend);
-
1734}
-
1735
-
1736IBTextControl::IBTextControl(const IRECT& bounds, const IBitmap& bitmap, const IText& text, const char* str, int charWidth, int charHeight, int charOffset, bool multiLine, bool vCenter, EBlend blend)
-
1737: ITextControl(bounds, str, text)
-
1738, IBitmapBase(bitmap)
-
1739, mCharWidth(charWidth)
-
1740, mCharHeight(charHeight)
-
1741, mCharOffset(charOffset)
-
1742, mMultiLine(multiLine)
-
1743, mVCentre(vCenter)
-
1744{
-
1745 mBlend = blend;
-
1746}
-
1747
-
1748void IBTextControl::Draw(IGraphics& g)
+
1683 AttachIControl(this);
+
1684}
+
1685
+
1686void IBSliderControl::Draw(IGraphics& g)
+
1687{
+
1688 if(mTrackBitmap.IsValid())
+
1689 g.DrawBitmap(mTrackBitmap, mRECT.GetCentredInside(IRECT(0, 0, mTrackBitmap)), 0, 0, &mBlend);
+
1690
+
1691 g.DrawBitmap(mBitmap, GetHandleBounds(), 1, &mBlend);
+
1692}
+
1693
+
1694IRECT IBSliderControl::GetHandleBounds(double value) const
+
1695{
+
1696 if (value < 0.0)
+
1697 value = GetValue();
+
1698
+
1699 IRECT r(mTrackBounds.L, mTrackBounds.T, mBitmap);
+
1700
+
1701 if (mDirection == EDirection::Vertical)
+
1702 r.Translate(0.f, (1.f - static_cast<float>(value)) * (mTrackBounds.H() - static_cast<float>(mBitmap.H())));
+
1703 else
+
1704 r.Translate(static_cast<float>(value) * (mTrackBounds.W() - static_cast<float>(mBitmap.W())), 0.f);
+
1705
+
1706 return r;
+
1707}
+
1708
+
1709void IBSliderControl::OnResize()
+
1710{
+
1711 if (mDirection == EDirection::Vertical)
+
1712 {
+
1713 if(mTrackBitmap.IsValid())
+
1714 mTrackBounds = mRECT.GetCentredInside(IRECT(0, 0, mTrackBitmap));
+
1715 else
+
1716 {
+
1717 const float halfWidth = static_cast<float>(mBitmap.W()) / 2.f;
+
1718 mTrackBounds = mRECT.GetMidHPadded(halfWidth);
+
1719 }
+
1720 }
+
1721 else
+
1722 {
+
1723 if(mTrackBitmap.IsValid())
+
1724 mTrackBounds = mRECT.GetCentredInside(IRECT(0, 0, mTrackBitmap));
+
1725 else
+
1726 {
+
1727 const float halfHeight = static_cast<float>(mBitmap.H()) / 2.f;
+
1728 mTrackBounds = mRECT.GetMidVPadded(halfHeight);
+
1729 }
+
1730 }
+
1731
+
1732 SetDirty(false);
+
1733}
+
1734
+
1735void IBKnobRotaterControl::Draw(IGraphics& g)
+
1736{
+
1737 const double angle = -130.0 + GetValue() * 260.0;
+
1738 g.DrawRotatedBitmap(mBitmap, mRECT.MW(), mRECT.MH(), angle, &mBlend);
+
1739}
+
1740
+
1741IBTextControl::IBTextControl(const IRECT& bounds, const IBitmap& bitmap, const IText& text, const char* str, int charWidth, int charHeight, int charOffset, bool multiLine, bool vCenter, EBlend blend)
+
1742: ITextControl(bounds, str, text)
+
1743, IBitmapBase(bitmap)
+
1744, mCharWidth(charWidth)
+
1745, mCharHeight(charHeight)
+
1746, mCharOffset(charOffset)
+
1747, mMultiLine(multiLine)
+
1748, mVCentre(vCenter)
1749{
-
1750 g.DrawBitmapedText(mBitmap, mRECT, mText, &mBlend, mStr.Get(), mVCentre, mMultiLine, mCharWidth, mCharHeight, mCharOffset);
+
1750 mBlend = blend;
1751}
1752
-
1753void IBMeterControl::OnMsgFromDelegate(int msgTag, int dataSize, const void* pData)
+
1753void IBTextControl::Draw(IGraphics& g)
1754{
-
1755 if (!IsDisabled() && msgTag == ISender<>::kUpdateMessage)
-
1756 {
-
1757 IByteStream stream(pData, dataSize);
-
1758
-
1759 int pos = 0;
-
1760 ISenderData<1, std::pair<float, float>> d;
-
1761 pos = stream.Get(&d, pos);
-
1762
-
1763 if (mResponse == EResponse::Log)
-
1764 {
-
1765 auto lowPointAbs = std::fabs(mLowRangeDB);
-
1766 auto rangeDB = std::fabs(mHighRangeDB - mLowRangeDB);
-
1767 for (auto c = d.chanOffset; c < (d.chanOffset + d.nChans); c++)
-
1768 {
-
1769 auto avg = d.vals[c].second;
-
1770 auto ampValue = AmpToDB(avg);
-
1771 auto linearPos = (ampValue + lowPointAbs)/rangeDB;
-
1772 SetValue(Clip(linearPos, 0., 1.), c);
-
1773 }
-
1774 }
-
1775 else
-
1776 {
-
1777 for (auto c = d.chanOffset; c < (d.chanOffset + d.nChans); c++)
-
1778 {
-
1779 auto avg = d.vals[c].second;
-
1780 SetValue(Clip(avg, 0.f, 1.f), c);
-
1781 }
-
1782 }
-
1783
-
1784 SetDirty(false);
-
1785 }
-
1786}
+
1755 g.DrawBitmapedText(mBitmap, mRECT, mText, &mBlend, mStr.Get(), mVCentre, mMultiLine, mCharWidth, mCharHeight, mCharOffset);
+
1756}
+
1757
+
1758void IBMeterControl::OnMsgFromDelegate(int msgTag, int dataSize, const void* pData)
+
1759{
+
1760 if (!IsDisabled() && msgTag == ISender<>::kUpdateMessage)
+
1761 {
+
1762 IByteStream stream(pData, dataSize);
+
1763
+
1764 int pos = 0;
+
1765 ISenderData<1, std::pair<float, float>> d;
+
1766 pos = stream.Get(&d, pos);
+
1767
+
1768 if (mResponse == EResponse::Log)
+
1769 {
+
1770 auto lowPointAbs = std::fabs(mLowRangeDB);
+
1771 auto rangeDB = std::fabs(mHighRangeDB - mLowRangeDB);
+
1772 for (auto c = d.chanOffset; c < (d.chanOffset + d.nChans); c++)
+
1773 {
+
1774 auto avg = d.vals[c].second;
+
1775 auto ampValue = AmpToDB(avg);
+
1776 auto linearPos = (ampValue + lowPointAbs)/rangeDB;
+
1777 SetValue(Clip(linearPos, 0., 1.), c);
+
1778 }
+
1779 }
+
1780 else
+
1781 {
+
1782 for (auto c = d.chanOffset; c < (d.chanOffset + d.nChans); c++)
+
1783 {
+
1784 auto avg = d.vals[c].second;
+
1785 SetValue(Clip(avg, 0.f, 1.f), c);
+
1786 }
+
1787 }
+
1788
+
1789 SetDirty(false);
+
1790 }
+
1791}
A collection of IControls for common UI widgets, such as knobs, sliders, switches.
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1730
-
void OnMsgFromDelegate(int msgTag, int dataSize, const void *pData) override
Implement to receive messages sent to the control, see IEditorDelegate:SendControlMsgFromDelegate()
Definition: IControls.cpp:1753
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1704
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1681
-
IBSwitchControl(float x, float y, const IBitmap &bitmap, int paramIdx=kNoParameter)
Constructs a bitmap switch control.
Definition: IControls.cpp:1634
-
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1648
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1748
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1735
+
void OnMsgFromDelegate(int msgTag, int dataSize, const void *pData) override
Implement to receive messages sent to the control, see IEditorDelegate:SendControlMsgFromDelegate()
Definition: IControls.cpp:1758
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1709
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1686
+
IBSwitchControl(float x, float y, const IBitmap &bitmap, int paramIdx=kNoParameter)
Constructs a bitmap switch control.
Definition: IControls.cpp:1639
+
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1653
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1753
A base interface to be combined with IControl for bitmap-based controls "IBControls",...
Definition: IControl.h:724
void AttachIControl(IControl *pControl)
Call in the constructor of your IBControl to link the IBitmapBase and IControl.
Definition: IControl.h:737
User-facing bitmap abstraction that you use to manage bitmap data, independant of draw class/platform...
@@ -1947,16 +1952,16 @@
const char * GetName() const
Returns the parameter's name.
void GetDisplayWithLabel(WDL_String &display, bool withDisplayText=true) const
Fills the WDL_String the value of the parameter along with the label, e.g.
A class for setting the contents of a pop up menu.
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1440
-
ISVGButtonControl(const IRECT &bounds, IActionFunction aF, const ISVG &offImage, const ISVG &onImage)
Constructs an SVG button control, with an action function.
Definition: IControls.cpp:1423
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1531
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1560
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1566
-
ISVGSliderControl(const IRECT &bounds, const ISVG &handleSvg, const ISVG &trackSVG, int paramIdx=kNoParameter, EDirection dir=EDirection::Vertical, double gearing=DEFAULT_GEARING)
Constructs an ISVGSliderControl.
Definition: IControls.cpp:1553
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1548
-
ISVGSwitchControl(const IRECT &bounds, const std::initializer_list< ISVG > &svgs, int paramIdx=kNoParameter, IActionFunction aF=nullptr)
Constructs a SVG switch control.
Definition: IControls.cpp:1542
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1499
-
ISVGToggleControl(const IRECT &bounds, IActionFunction aF, const ISVG &offImage, const ISVG &onImage)
Constructs an SVG button control, with an action function.
Definition: IControls.cpp:1467
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1445
+
ISVGButtonControl(const IRECT &bounds, IActionFunction aF, const ISVG &offImage, const ISVG &onImage)
Constructs an SVG button control, with an action function.
Definition: IControls.cpp:1428
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1536
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1565
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1571
+
ISVGSliderControl(const IRECT &bounds, const ISVG &handleSvg, const ISVG &trackSVG, int paramIdx=kNoParameter, EDirection dir=EDirection::Vertical, double gearing=DEFAULT_GEARING)
Constructs an ISVGSliderControl.
Definition: IControls.cpp:1558
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1553
+
ISVGSwitchControl(const IRECT &bounds, const std::initializer_list< ISVG > &svgs, int paramIdx=kNoParameter, IActionFunction aF=nullptr)
Constructs a SVG switch control.
Definition: IControls.cpp:1547
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1504
+
ISVGToggleControl(const IRECT &bounds, IActionFunction aF, const ISVG &offImage, const ISVG &onImage)
Constructs an SVG button control, with an action function.
Definition: IControls.cpp:1472
ISender is a utility class which can be used to defer data from the realtime audio processing and sen...
Definition: ISender.h:65
A base class for slider/fader controls, to handle mouse action and Sender.
Definition: IControl.h:1403
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControl.cpp:906
@@ -1970,62 +1975,63 @@
virtual void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:71
IVButtonControl(const IRECT &bounds, IActionFunction aF=SplashClickActionFunc, const char *label="", const IVStyle &style=DEFAULT_STYLE, bool labelInButton=true, bool valueInButton=true, EVShape shape=EVShape::Rectangle)
Constructs a vector button control, with an action function.
Definition: IControls.cpp:54
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:77
-
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.cpp:1390
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1343
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1322
-
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1396
-
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:1328
-
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:1374
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1243
-
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:1252
-
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:1235
-
IVGroupControl(const IRECT &bounds, const char *label="", float labelOffset=10.f, const IVStyle &style=DEFAULT_STYLE, IContainerBase::AttachFunc attachFunc=nullptr, IContainerBase::ResizeFunc resizeFunc=nullptr)
Construct the group control.
Definition: IControls.cpp:1213
-
void SetBoundsBasedOnGroup(const char *groupName, float padL, float padT, float padR, float padB)
Set the bounds of the group control based on the area occupied by the controls in a particular group.
Definition: IControls.cpp:1289
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1279
-
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:742
+
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.cpp:1395
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1348
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1327
+
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1401
+
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:1333
+
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:1379
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1248
+
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:1257
+
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:1240
+
IVGroupControl(const IRECT &bounds, const char *label="", float labelOffset=10.f, const IVStyle &style=DEFAULT_STYLE, IContainerBase::AttachFunc attachFunc=nullptr, IContainerBase::ResizeFunc resizeFunc=nullptr)
Construct the group control.
Definition: IControls.cpp:1218
+
void SetBoundsBasedOnGroup(const char *groupName, float padL, float padT, float padR, float padB)
Set the bounds of the group control based on the area occupied by the controls in a particular group.
Definition: IControls.cpp:1294
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1284
+
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:747
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:613
-
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:705
-
bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:721
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:715
+
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:710
+
bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:726
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:720
virtual void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:652
-
void OnMouseDblClick(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse double click event on this control.
Definition: IControls.cpp:690
-
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.cpp:699
+
void OnMouseDblClick(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse double click event on this control.
Definition: IControls.cpp:695
+
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.cpp:704
virtual IRECT GetKnobDragBounds() override
Get the area for which mouse deltas will be used to calculate the amount dragging changes the control...
Definition: IControls.cpp:621
-
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:676
-
void SetDirty(bool push, int valIdx=kNoValIdx) override
Mark the control as dirty, i.e.
Definition: IControls.cpp:732
+
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:681
+
void SetDirty(bool push, int valIdx=kNoValIdx) override
Mark the control as dirty, i.e.
Definition: IControls.cpp:737
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:38
void SetValueFromDelegate(double value, int valIdx=0) override
Set the control's value from the delegate This method is called from the class implementing the IEdit...
Definition: IControls.cpp:552
void SetValueFromUserInput(double value, int valIdx) override
Set the control's value after user input.
Definition: IControls.cpp:569
IVMenuButtonControl(const IRECT &bounds, int paramIdx, const char *label="", const IVStyle &style=DEFAULT_STYLE, EVShape shape=EVShape::Rectangle)
Constructs a vector button control, with an action function.
Definition: IControls.cpp:520
void SetStyle(const IVStyle &style) override
Set the Style of this IVControl.
Definition: IControls.cpp:546
void OnPopupMenuSelection(IPopupMenu *pSelectedMenu, int valIdx) override
Implement this method to handle popup menu selection after IGraphics::CreatePopupMenu/IControlPromptU...
Definition: IControls.cpp:560
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1154
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1198
-
void AddPlotFunc(const IColor &color, const IPlotFunc &func)
add a new function to the plot
Definition: IControls.cpp:1204
-
IVPlotControl(const IRECT &bounds, const std::initializer_list< Plot > &funcs, int numPoints, const char *label="", const IVStyle &style=DEFAULT_STYLE, float min=-1., float max=1., bool useLayer=false)
Constructs an IVPlotControl.
Definition: IControls.cpp:1137
-
std::function< double(double)> IPlotFunc
IVPlotControl passes values between 0 and 1 to this object, that are the plot normalized x values.
Definition: IControls.h:388
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1159
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1203
+
void AddPlotFunc(const IColor &color, const IPlotFunc &func)
add a new function to the plot
Definition: IControls.cpp:1209
+
IVPlotControl(const IRECT &bounds, const std::initializer_list< Plot > &funcs, int numPoints, const char *label="", const IVStyle &style=DEFAULT_STYLE, float min=-1., float max=1., bool useLayer=false)
Constructs an IVPlotControl.
Definition: IControls.cpp:1142
+
std::function< double(double)> IPlotFunc
IVPlotControl passes values between 0 and 1 to this object, that are the plot normalized x values.
Definition: IControls.h:405
int GetButtonForPoint(float x, float y) const override
Definition: IControls.cpp:504
IVRadioButtonControl(const IRECT &bounds, int paramIdx=kNoParameter, const std::initializer_list< const char * > &options={}, const char *label="", const IVStyle &style=DEFAULT_STYLE, EVShape shape=EVShape::Ellipse, EDirection direction=EDirection::Vertical, float buttonSize=10.f)
Constructs a vector radio button control, linked to a parameter.
Definition: IControls.cpp:468
virtual void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:486
-
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:1013
-
void OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod &mod) override
Implement this method to respond to a mouse drag event on this control.
Definition: IControls.cpp:1040
-
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1034
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:931
-
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:990
+
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:1018
+
void OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod &mod) override
Implement this method to respond to a mouse drag event on this control.
Definition: IControls.cpp:1045
+
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1039
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:936
+
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:995
+
IVSlideSwitchControl(const IRECT &bounds, int paramIdx=kNoParameter, const char *label="", const IVStyle &style=DEFAULT_STYLE, bool valueInButton=false, EDirection direction=EDirection::Horizontal)
Construct a new IVSlideSwitchControl, with a parameter.
Definition: IControls.cpp:192
virtual void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:273
void SetDirty(bool push, int valIdx=kNoValIdx) override
Mark the control as dirty, i.e.
Definition: IControls.cpp:290
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:263
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:250
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:876
-
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:867
-
void SetDirty(bool push, int valIdx=kNoValIdx) override
Mark the control as dirty, i.e.
Definition: IControls.cpp:901
-
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.cpp:861
-
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:840
-
void OnMouseDblClick(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse double click event on this control.
Definition: IControls.cpp:852
-
virtual void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:807
-
bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:888
-
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:911
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:785
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:881
+
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:872
+
void SetDirty(bool push, int valIdx=kNoValIdx) override
Mark the control as dirty, i.e.
Definition: IControls.cpp:906
+
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.cpp:866
+
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:845
+
void OnMouseDblClick(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse double click event on this control.
Definition: IControls.cpp:857
+
virtual void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:812
+
bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:893
+
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:916
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:790
A vector switch control.
Definition: IControls.h:74
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:144
bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:139
@@ -2033,7 +2039,7 @@
void SetDirty(bool push, int valIdx=kNoValIdx) override
Mark the control as dirty, i.e.
Definition: IControls.cpp:123
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:133
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:110
-
A vector "tab" multi switch control.
Definition: IControls.h:131
+
A vector "tab" multi switch control.
Definition: IControls.h:147
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:449
virtual bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:426
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:431
@@ -2050,12 +2056,12 @@
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControl.h:1521
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControl.h:1556
virtual void DrawBackground(IGraphics &g, const IRECT &r) override
Draw the IVControl background (usually transparent)
Definition: IControl.h:1668
-
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1103
-
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:1073
-
void OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod &mod) override
Implement this method to respond to a mouse drag event on this control.
Definition: IControls.cpp:1121
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1131
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1062
-
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.cpp:1112
+
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1108
+
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:1078
+
void OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod &mod) override
Implement this method to respond to a mouse drag event on this control.
Definition: IControls.cpp:1126
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1136
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1067
+
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.cpp:1117
A base interface to be combined with IControl for vectorial controls "IVControls",...
Definition: IControl.h:762
virtual void DrawPressableShape(IGraphics &g, EVShape shape, const IRECT &bounds, bool pressed, bool mouseOver, bool disabled)
Call one of the DrawPressableShape methods.
Definition: IControl.h:923
void SetColor(EVColor colorIdx, const IColor &color)
Set one of the IVColors that style the IVControl.
Definition: IControl.h:792
diff --git a/_i_controls_8h.html b/_i_controls_8h.html index 7134fefc..e6c96f84 100644 --- a/_i_controls_8h.html +++ b/_i_controls_8h.html @@ -222,7 +222,7 @@

Definition at line 393 of file IControls.h.

+

Definition at line 410 of file IControls.h.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Members
diff --git a/_i_controls_8h_source.html b/_i_controls_8h_source.html index d06e3cd1..a0f72dd5 100644 --- a/_i_controls_8h_source.html +++ b/_i_controls_8h_source.html @@ -168,572 +168,573 @@
106{
107public:
-
108 IVSlideSwitchControl(const IRECT& bounds, int paramIdx = kNoParameter, const char* label = "", const IVStyle& style = DEFAULT_STYLE, bool valueInButton = false, EDirection direction = EDirection::Horizontal);
-
109
-
110 IVSlideSwitchControl(const IRECT& bounds, IActionFunction aF = EmptyClickActionFunc, const char* label = "", const IVStyle& style = DEFAULT_STYLE, bool valueInButton = false, EDirection direction = EDirection::Horizontal, int numStates = 2, int initialState = 0);
-
111
-
112 void Draw(IGraphics& g) override;
-
113 virtual void DrawWidget(IGraphics& g) override;
-
114 virtual void DrawHandle(IGraphics& g, const IRECT& filledArea);
-
115 virtual void DrawTrack(IGraphics& g, const IRECT& filledArea);
-
116
-
117 void OnResize() override;
-
118 void OnEndAnimation() override;
-
119 void SetDirty(bool push, int valIdx = kNoValIdx) override;
-
120protected:
-
121 void UpdateRects();
-
122
-
123 IRECT mStartRect, mEndRect;
-
124 IRECT mHandleBounds;
-
125 EDirection mDirection;
-
126};
-
127
- -
130 , public IVectorBase
-
131{
-
132public:
-
133 enum class ETabSegment { Start, Mid, End };
-
134
-
143 IVTabSwitchControl(const IRECT& bounds, int paramIdx = kNoParameter, const std::vector<const char*>& options = {}, const char* label = "", const IVStyle & style = DEFAULT_STYLE, EVShape shape = EVShape::Rectangle, EDirection direction = EDirection::Horizontal);
-
144
-
153 IVTabSwitchControl(const IRECT& bounds, IActionFunction aF, const std::vector<const char*>& options, const char* label = "", const IVStyle& style = DEFAULT_STYLE, EVShape shape = EVShape::Rectangle, EDirection direction = EDirection::Horizontal);
-
154
-
155 virtual ~IVTabSwitchControl() { mTabLabels.Empty(true); }
-
156 void Draw(IGraphics& g) override;
-
157 void OnInit() override;
-
158
-
159 virtual void DrawWidget(IGraphics& g) override;
-
160 virtual void DrawButton(IGraphics& g, const IRECT& bounds, bool pressed, bool mouseOver, ETabSegment segment, bool disabled);
-
161 virtual void DrawButtonText(IGraphics& g, const IRECT& bounds, bool pressed, bool mouseOver, ETabSegment segment, bool disabled, const char* textStr);
-
162
-
163 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
-
164 void OnMouseOver(float x, float y, const IMouseMod& mod) override;
-
165 void OnMouseOut() override { mMouseOverButton = -1; ISwitchControlBase::OnMouseOut(); SetDirty(false); }
-
166 void OnResize() override;
-
167 virtual bool IsHit(float x, float y) const override;
-
168
-
170 const char* GetSelectedLabelStr() const;
-
171protected:
-
172
-
174 virtual int GetButtonForPoint(float x, float y) const;
-
175
-
176 int mMouseOverButton = -1;
-
177 WDL_TypedBuf<IRECT> mButtons;
-
178 WDL_PtrList<WDL_String> mTabLabels;
-
179 EDirection mDirection;
-
180};
-
181
- -
184{
-
185public:
-
194 IVRadioButtonControl(const IRECT& bounds, int paramIdx = kNoParameter, const std::initializer_list<const char*>& options = {}, const char* label = "", const IVStyle& style = DEFAULT_STYLE, EVShape shape = EVShape::Ellipse, EDirection direction = EDirection::Vertical, float buttonSize = 10.f);
-
195
-
205 IVRadioButtonControl(const IRECT& bounds, IActionFunction aF, const std::initializer_list<const char*>& options, const char* label = "", const IVStyle& style = DEFAULT_STYLE, EVShape shape = EVShape::Ellipse, EDirection direction = EDirection::Vertical, float buttonSize = 10.f);
-
206
-
207 virtual void DrawWidget(IGraphics& g) override;
-
208protected:
-
210 int GetButtonForPoint(float x, float y) const override;
+
115 IVSlideSwitchControl(const IRECT& bounds, int paramIdx = kNoParameter, const char* label = "", const IVStyle& style = DEFAULT_STYLE, bool valueInButton = false, EDirection direction = EDirection::Horizontal);
+
116
+
126 IVSlideSwitchControl(const IRECT& bounds, IActionFunction aF = EmptyClickActionFunc, const char* label = "", const IVStyle& style = DEFAULT_STYLE, bool valueInButton = false, EDirection direction = EDirection::Horizontal, int numStates = 2, int initialState = 0);
+
127
+
128 void Draw(IGraphics& g) override;
+
129 virtual void DrawWidget(IGraphics& g) override;
+
130 virtual void DrawHandle(IGraphics& g, const IRECT& filledArea);
+
131 virtual void DrawTrack(IGraphics& g, const IRECT& filledArea);
+
132
+
133 void OnResize() override;
+
134 void OnEndAnimation() override;
+
135 void SetDirty(bool push, int valIdx = kNoValIdx) override;
+
136protected:
+
137 void UpdateRects();
+
138
+
139 IRECT mStartRect, mEndRect;
+
140 IRECT mHandleBounds;
+
141 EDirection mDirection;
+
142};
+
143
+ +
146 , public IVectorBase
+
147{
+
148public:
+
149 enum class ETabSegment { Start, Mid, End };
+
150
+
159 IVTabSwitchControl(const IRECT& bounds, int paramIdx = kNoParameter, const std::vector<const char*>& options = {}, const char* label = "", const IVStyle & style = DEFAULT_STYLE, EVShape shape = EVShape::Rectangle, EDirection direction = EDirection::Horizontal);
+
160
+
169 IVTabSwitchControl(const IRECT& bounds, IActionFunction aF, const std::vector<const char*>& options, const char* label = "", const IVStyle& style = DEFAULT_STYLE, EVShape shape = EVShape::Rectangle, EDirection direction = EDirection::Horizontal);
+
170
+
171 virtual ~IVTabSwitchControl() { mTabLabels.Empty(true); }
+
172 void Draw(IGraphics& g) override;
+
173 void OnInit() override;
+
174
+
175 virtual void DrawWidget(IGraphics& g) override;
+
176 virtual void DrawButton(IGraphics& g, const IRECT& bounds, bool pressed, bool mouseOver, ETabSegment segment, bool disabled);
+
177 virtual void DrawButtonText(IGraphics& g, const IRECT& bounds, bool pressed, bool mouseOver, ETabSegment segment, bool disabled, const char* textStr);
+
178
+
179 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
+
180 void OnMouseOver(float x, float y, const IMouseMod& mod) override;
+
181 void OnMouseOut() override { mMouseOverButton = -1; ISwitchControlBase::OnMouseOut(); SetDirty(false); }
+
182 void OnResize() override;
+
183 virtual bool IsHit(float x, float y) const override;
+
184
+
186 const char* GetSelectedLabelStr() const;
+
187protected:
+
188
+
190 virtual int GetButtonForPoint(float x, float y) const;
+
191
+
192 int mMouseOverButton = -1;
+
193 WDL_TypedBuf<IRECT> mButtons;
+
194 WDL_PtrList<WDL_String> mTabLabels;
+
195 EDirection mDirection;
+
196};
+
197
+ +
200{
+
201public:
+
210 IVRadioButtonControl(const IRECT& bounds, int paramIdx = kNoParameter, const std::initializer_list<const char*>& options = {}, const char* label = "", const IVStyle& style = DEFAULT_STYLE, EVShape shape = EVShape::Ellipse, EDirection direction = EDirection::Vertical, float buttonSize = 10.f);
211
-
212 float mButtonSize;
-
213 float mButtonAreaWidth;
-
214 bool mOnlyButtonsRespondToMouse = false;
-
215};
-
216
- -
219 , public IVectorBase
-
220{
-
221public:
-
228 IVMenuButtonControl(const IRECT& bounds, int paramIdx, const char* label = "", const IVStyle& style = DEFAULT_STYLE, EVShape shape = EVShape::Rectangle);
-
229
-
230 void OnPopupMenuSelection(IPopupMenu* pSelectedMenu, int valIdx) override;
-
231 void SetValueFromUserInput(double value, int valIdx) override;
+
221 IVRadioButtonControl(const IRECT& bounds, IActionFunction aF, const std::initializer_list<const char*>& options, const char* label = "", const IVStyle& style = DEFAULT_STYLE, EVShape shape = EVShape::Ellipse, EDirection direction = EDirection::Vertical, float buttonSize = 10.f);
+
222
+
223 virtual void DrawWidget(IGraphics& g) override;
+
224protected:
+
226 int GetButtonForPoint(float x, float y) const override;
+
227
+
228 float mButtonSize;
+
229 float mButtonAreaWidth;
+
230 bool mOnlyButtonsRespondToMouse = false;
+
231};
232
-
233 void SetValueFromDelegate(double value, int valIdx = 0) override;
-
234 void SetStyle(const IVStyle& style) override;
-
235
-
236private:
-
237 IVButtonControl* mButtonControl = nullptr;
-
238};
-
239
- -
242 , public IVectorBase
-
243{
-
244public:
-
245 IVKnobControl(const IRECT& bounds, int paramIdx,
-
246 const char* label = "",
-
247 const IVStyle& style = DEFAULT_STYLE,
-
248 bool valueIsEditable = false, bool valueInWidget = false,
-
249 float a1 = -135.f, float a2 = 135.f, float aAnchor = -135.f,
-
250 EDirection direction = EDirection::Vertical, double gearing = DEFAULT_GEARING, float trackSize = 2.f);
+ +
235 , public IVectorBase
+
236{
+
237public:
+
244 IVMenuButtonControl(const IRECT& bounds, int paramIdx, const char* label = "", const IVStyle& style = DEFAULT_STYLE, EVShape shape = EVShape::Rectangle);
+
245
+
246 void OnPopupMenuSelection(IPopupMenu* pSelectedMenu, int valIdx) override;
+
247 void SetValueFromUserInput(double value, int valIdx) override;
+
248
+
249 void SetValueFromDelegate(double value, int valIdx = 0) override;
+
250 void SetStyle(const IVStyle& style) override;
251
-
252 IVKnobControl(const IRECT& bounds, IActionFunction aF,
-
253 const char* label = "",
-
254 const IVStyle& style = DEFAULT_STYLE,
-
255 bool valueIsEditable = false, bool valueInWidget = false,
-
256 float a1 = -135.f, float a2 = 135.f, float aAnchor = -135.f,
-
257 EDirection direction = EDirection::Vertical, double gearing = DEFAULT_GEARING, float trackSize = 2.f);
-
258
-
259 virtual ~IVKnobControl() {}
-
260
-
261 void Draw(IGraphics& g) override;
-
262 virtual void DrawWidget(IGraphics& g) override;
-
263 virtual void DrawIndicatorTrack(IGraphics& g, float angle, float cx, float cy, float radius);
-
264 virtual void DrawPointer(IGraphics& g, float angle, float cx, float cy, float radius);
-
265
-
266 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
-
267 void OnMouseDblClick(float x, float y, const IMouseMod& mod) override;
-
268 void OnMouseUp(float x, float y, const IMouseMod& mod) override;
-
269 void OnMouseOver(float x, float y, const IMouseMod& mod) override;
-
270 void OnMouseOut() override { mValueMouseOver = false; IKnobControlBase::OnMouseOut(); }
-
271
-
272 void OnResize() override;
-
273 bool IsHit(float x, float y) const override;
-
274 void SetDirty(bool push, int valIdx = kNoValIdx) override;
-
275 void OnInit() override;
+
252private:
+
253 IVButtonControl* mButtonControl = nullptr;
+
254};
+
255
+ +
258 , public IVectorBase
+
259{
+
260public:
+
261 IVKnobControl(const IRECT& bounds, int paramIdx,
+
262 const char* label = "",
+
263 const IVStyle& style = DEFAULT_STYLE,
+
264 bool valueIsEditable = false, bool valueInWidget = false,
+
265 float a1 = -135.f, float a2 = 135.f, float aAnchor = -135.f,
+
266 EDirection direction = EDirection::Vertical, double gearing = DEFAULT_GEARING, float trackSize = 2.f);
+
267
+
268 IVKnobControl(const IRECT& bounds, IActionFunction aF,
+
269 const char* label = "",
+
270 const IVStyle& style = DEFAULT_STYLE,
+
271 bool valueIsEditable = false, bool valueInWidget = false,
+
272 float a1 = -135.f, float a2 = 135.f, float aAnchor = -135.f,
+
273 EDirection direction = EDirection::Vertical, double gearing = DEFAULT_GEARING, float trackSize = 2.f);
+
274
+
275 virtual ~IVKnobControl() {}
276
-
277 void SetInnerPointerFrac(float frac) { mInnerPointerFrac = frac; }
-
278 void SetOuterPointerFrac(float frac) { mOuterPointerFrac = frac; }
-
279 void SetPointerThickness(float thickness) { mPointerThickness = thickness; }
-
280
-
281 float GetRadius() const;
-
282 IRECT GetTrackBounds() const;
-
283
-
284protected:
-
285 virtual IRECT GetKnobDragBounds() override;
-
286
-
287 float mTrackToHandleDistance = 4.f;
-
288 float mInnerPointerFrac = 0.1f;
-
289 float mOuterPointerFrac = 1.f;
-
290 float mPointerThickness = 2.5f;
-
291 float mAngle1, mAngle2;
-
292 float mAnchorAngle; // for bipolar arc
-
293 bool mValueMouseOver = false;
-
294};
-
295
- -
298 , public IVectorBase
-
299{
-
300public:
-
301 IVSliderControl(const IRECT& bounds, int paramIdx = kNoParameter, const char* label = "", const IVStyle& style = DEFAULT_STYLE, bool valueIsEditable = false, EDirection dir = EDirection::Vertical, double gearing = DEFAULT_GEARING, float handleSize = 8.f, float trackSize = 2.f, bool handleInsideTrack = false, float handleXOffset = 0.f, float handleYOffset = 0.f);
-
302
-
303 IVSliderControl(const IRECT& bounds, IActionFunction aF, const char* label = "", const IVStyle& style = DEFAULT_STYLE, bool valueIsEditable = false, EDirection dir = EDirection::Vertical, double gearing = DEFAULT_GEARING, float handleSize = 8.f, float trackSize = 2.f, bool handleInsideTrack = false, float handleXOffset = 0.f, float handleYOffset = 0.f);
-
304
-
305 virtual ~IVSliderControl() {}
-
306 void Draw(IGraphics& g) override;
-
307 virtual void DrawWidget(IGraphics& g) override;
-
308 virtual void DrawTrack(IGraphics& g, const IRECT& filledArea);
-
309 virtual void DrawHandle(IGraphics& g, const IRECT& bounds);
-
310
-
311 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
-
312 void OnMouseDblClick(float x, float y, const IMouseMod& mod) override;
-
313 void OnMouseUp(float x, float y, const IMouseMod& mod) override;
-
314 void OnMouseOver(float x, float y, const IMouseMod& mod) override;
-
315 void OnMouseOut() override { mValueMouseOver = false; ISliderControlBase::OnMouseOut(); }
-
316 bool IsHit(float x, float y) const override;
-
317 void OnResize() override;
-
318 void SetDirty(bool push, int valIdx = kNoValIdx) override;
-
319 void OnInit() override;
-
320
-
321 IRECT GetTrackBounds() const
-
322 {
-
323 auto offset = -mHandleSize + (mStyle.frameThickness / 2.0f);
-
324 return mWidgetBounds.GetPadded(mDirection == EDirection::Horizontal ? offset : 0,
-
325 mDirection == EDirection::Vertical ? offset : 0,
-
326 mDirection == EDirection::Horizontal ? offset : 0,
-
327 mDirection == EDirection::Vertical ? offset : 0);
-
328 }
-
329
-
330protected:
-
331 bool mHandleInsideTrack = false;
-
332 bool mValueMouseOver = false;
-
333 float mHandleXOffset = 0.f;
-
334 float mHandleYOffset = 0.f;
-
335};
-
336
- -
339{
-
340public:
-
341 IVRangeSliderControl(const IRECT& bounds, const std::initializer_list<int>& params, const char* label = "", const IVStyle& style = DEFAULT_STYLE, EDirection dir = EDirection::Vertical, bool onlyHandle = false, float handleSize = 8.f, float trackSize = 2.f);
-
342
-
343 void Draw(IGraphics& g) override;
-
344 void DrawTrack(IGraphics& g, const IRECT& r, int chIdx) override;
-
345 void DrawWidget(IGraphics& g) override;
-
346 void OnMouseOver(float x, float y, const IMouseMod& mod) override;
-
347 void OnMouseOut() override { mMouseOverHandle = -1; IVTrackControlBase::OnMouseOut(); }
-
348 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
-
349 void OnMouseUp(float x, float y, const IMouseMod& mod) override { mMouseIsDown = false; }
-
350 void OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod& mod) override;
-
351
-
352protected:
-
353 void MakeTrackRects(const IRECT& bounds) override;
-
354 IRECT GetHandleBounds(int trackIdx);
-
355
-
356 int mMouseOverHandle = -1;
-
357 float mHandleSize;
-
358 bool mMouseIsDown = false;
-
359};
-
360
-
362class IVXYPadControl : public IControl, public IVectorBase
-
363{
-
364public:
-
365 IVXYPadControl(const IRECT& bounds, const std::initializer_list<int>& params, const char* label = "", const IVStyle& style = DEFAULT_STYLE, float handleRadius = 10.f, bool trackClipsHandle = true, bool drawCross = true);
-
366
-
367 void Draw(IGraphics& g) override;
-
368 void DrawWidget(IGraphics& g) override;
-
369 virtual void DrawHandle(IGraphics& g, const IRECT& trackBounds, const IRECT& handleBounds);
-
370 virtual void DrawTrack(IGraphics& g);
-
371 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
-
372 void OnMouseUp(float x, float y, const IMouseMod& mod) override;
-
373 void OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod& mod) override;
-
374 void OnResize() override;
-
375protected:
-
376 float mHandleRadius;
-
377 bool mMouseDown = false;
-
378 bool mTrackClipsHandle = true;
-
379 bool mDrawCross = true;
-
380};
-
381
- -
384 , public IVectorBase
-
385{
-
386public:
-
388 using IPlotFunc = std::function<double(double)>;
-
389
-
393 struct Plot {
-
394 IColor color;
-
395 IPlotFunc func;
-
396 };
-
397
-
408 IVPlotControl(const IRECT& bounds, const std::initializer_list<Plot>& funcs, int numPoints, const char* label = "", const IVStyle& style = DEFAULT_STYLE, float min = -1., float max = 1., bool useLayer = false);
-
409
-
410 void Draw(IGraphics& g) override;
-
411 void OnResize() override;
-
412
-
416 void AddPlotFunc(const IColor& color, const IPlotFunc& func);
-
417
-
418protected:
-
419 ILayerPtr mLayer;
-
420 std::vector<Plot> mPlots;
-
421 float mMin;
-
422 float mMax;
-
423 bool mUseLayer = true;
-
424 int mHorizontalDivisions = 10;
-
425 int mVerticalDivisions = 10; // always + 2 when drawing
+
277 void Draw(IGraphics& g) override;
+
278 virtual void DrawWidget(IGraphics& g) override;
+
279 virtual void DrawHandle(IGraphics& g, const IRECT& bounds);
+
280 virtual void DrawIndicatorTrack(IGraphics& g, float angle, float cx, float cy, float radius);
+
281 virtual void DrawPointer(IGraphics& g, float angle, float cx, float cy, float radius);
+
282
+
283 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
+
284 void OnMouseDblClick(float x, float y, const IMouseMod& mod) override;
+
285 void OnMouseUp(float x, float y, const IMouseMod& mod) override;
+
286 void OnMouseOver(float x, float y, const IMouseMod& mod) override;
+
287 void OnMouseOut() override { mValueMouseOver = false; IKnobControlBase::OnMouseOut(); }
+
288
+
289 void OnResize() override;
+
290 bool IsHit(float x, float y) const override;
+
291 void SetDirty(bool push, int valIdx = kNoValIdx) override;
+
292 void OnInit() override;
+
293
+
294 void SetInnerPointerFrac(float frac) { mInnerPointerFrac = frac; }
+
295 void SetOuterPointerFrac(float frac) { mOuterPointerFrac = frac; }
+
296 void SetPointerThickness(float thickness) { mPointerThickness = thickness; }
+
297
+
298 float GetRadius() const;
+
299 IRECT GetTrackBounds() const;
+
300
+
301protected:
+
302 virtual IRECT GetKnobDragBounds() override;
+
303
+
304 float mTrackToHandleDistance = 4.f;
+
305 float mInnerPointerFrac = 0.1f;
+
306 float mOuterPointerFrac = 1.f;
+
307 float mPointerThickness = 2.5f;
+
308 float mAngle1, mAngle2;
+
309 float mAnchorAngle; // for bipolar arc
+
310 bool mValueMouseOver = false;
+
311};
+
312
+ +
315 , public IVectorBase
+
316{
+
317public:
+
318 IVSliderControl(const IRECT& bounds, int paramIdx = kNoParameter, const char* label = "", const IVStyle& style = DEFAULT_STYLE, bool valueIsEditable = false, EDirection dir = EDirection::Vertical, double gearing = DEFAULT_GEARING, float handleSize = 8.f, float trackSize = 2.f, bool handleInsideTrack = false, float handleXOffset = 0.f, float handleYOffset = 0.f);
+
319
+
320 IVSliderControl(const IRECT& bounds, IActionFunction aF, const char* label = "", const IVStyle& style = DEFAULT_STYLE, bool valueIsEditable = false, EDirection dir = EDirection::Vertical, double gearing = DEFAULT_GEARING, float handleSize = 8.f, float trackSize = 2.f, bool handleInsideTrack = false, float handleXOffset = 0.f, float handleYOffset = 0.f);
+
321
+
322 virtual ~IVSliderControl() {}
+
323 void Draw(IGraphics& g) override;
+
324 virtual void DrawWidget(IGraphics& g) override;
+
325 virtual void DrawTrack(IGraphics& g, const IRECT& filledArea);
+
326 virtual void DrawHandle(IGraphics& g, const IRECT& bounds);
+
327
+
328 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
+
329 void OnMouseDblClick(float x, float y, const IMouseMod& mod) override;
+
330 void OnMouseUp(float x, float y, const IMouseMod& mod) override;
+
331 void OnMouseOver(float x, float y, const IMouseMod& mod) override;
+
332 void OnMouseOut() override { mValueMouseOver = false; ISliderControlBase::OnMouseOut(); }
+
333 bool IsHit(float x, float y) const override;
+
334 void OnResize() override;
+
335 void SetDirty(bool push, int valIdx = kNoValIdx) override;
+
336 void OnInit() override;
+
337
+
338 IRECT GetTrackBounds() const
+
339 {
+
340 auto offset = -mHandleSize + (mStyle.frameThickness / 2.0f);
+
341 return mWidgetBounds.GetPadded(mDirection == EDirection::Horizontal ? offset : 0,
+
342 mDirection == EDirection::Vertical ? offset : 0,
+
343 mDirection == EDirection::Horizontal ? offset : 0,
+
344 mDirection == EDirection::Vertical ? offset : 0);
+
345 }
+
346
+
347protected:
+
348 bool mHandleInsideTrack = false;
+
349 bool mValueMouseOver = false;
+
350 float mHandleXOffset = 0.f;
+
351 float mHandleYOffset = 0.f;
+
352};
+
353
+ +
356{
+
357public:
+
358 IVRangeSliderControl(const IRECT& bounds, const std::initializer_list<int>& params, const char* label = "", const IVStyle& style = DEFAULT_STYLE, EDirection dir = EDirection::Vertical, bool onlyHandle = false, float handleSize = 8.f, float trackSize = 2.f);
+
359
+
360 void Draw(IGraphics& g) override;
+
361 void DrawTrack(IGraphics& g, const IRECT& r, int chIdx) override;
+
362 void DrawWidget(IGraphics& g) override;
+
363 void OnMouseOver(float x, float y, const IMouseMod& mod) override;
+
364 void OnMouseOut() override { mMouseOverHandle = -1; IVTrackControlBase::OnMouseOut(); }
+
365 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
+
366 void OnMouseUp(float x, float y, const IMouseMod& mod) override { mMouseIsDown = false; }
+
367 void OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod& mod) override;
+
368
+
369protected:
+
370 void MakeTrackRects(const IRECT& bounds) override;
+
371 IRECT GetHandleBounds(int trackIdx);
+
372
+
373 int mMouseOverHandle = -1;
+
374 float mHandleSize;
+
375 bool mMouseIsDown = false;
+
376};
+
377
+
379class IVXYPadControl : public IControl, public IVectorBase
+
380{
+
381public:
+
382 IVXYPadControl(const IRECT& bounds, const std::initializer_list<int>& params, const char* label = "", const IVStyle& style = DEFAULT_STYLE, float handleRadius = 10.f, bool trackClipsHandle = true, bool drawCross = true);
+
383
+
384 void Draw(IGraphics& g) override;
+
385 void DrawWidget(IGraphics& g) override;
+
386 virtual void DrawHandle(IGraphics& g, const IRECT& trackBounds, const IRECT& handleBounds);
+
387 virtual void DrawTrack(IGraphics& g);
+
388 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
+
389 void OnMouseUp(float x, float y, const IMouseMod& mod) override;
+
390 void OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod& mod) override;
+
391 void OnResize() override;
+
392protected:
+
393 float mHandleRadius;
+
394 bool mMouseDown = false;
+
395 bool mTrackClipsHandle = true;
+
396 bool mDrawCross = true;
+
397};
+
398
+ +
401 , public IVectorBase
+
402{
+
403public:
+
405 using IPlotFunc = std::function<double(double)>;
+
406
+
410 struct Plot {
+
411 IColor color;
+
412 IPlotFunc func;
+
413 };
+
414
+
425 IVPlotControl(const IRECT& bounds, const std::initializer_list<Plot>& funcs, int numPoints, const char* label = "", const IVStyle& style = DEFAULT_STYLE, float min = -1., float max = 1., bool useLayer = false);
426
-
427 std::vector<float> mPoints;
-
428};
-
429
- -
432 , public IVectorBase
-
433{
-
434public:
-
442 IVGroupControl(const IRECT& bounds, const char* label = "", float labelOffset = 10.f, const IVStyle& style = DEFAULT_STYLE, IContainerBase::AttachFunc attachFunc = nullptr, IContainerBase::ResizeFunc resizeFunc = nullptr);
+
427 void Draw(IGraphics& g) override;
+
428 void OnResize() override;
+
429
+
433 void AddPlotFunc(const IColor& color, const IPlotFunc& func);
+
434
+
435protected:
+
436 ILayerPtr mLayer;
+
437 std::vector<Plot> mPlots;
+
438 float mMin;
+
439 float mMax;
+
440 bool mUseLayer = true;
+
441 int mHorizontalDivisions = 10;
+
442 int mVerticalDivisions = 10; // always + 2 when drawing
443
-
453 IVGroupControl(const char* label, const char* groupName, float padL = 0.f, float padT = 0.f, float padR = 0.f, float padB = 0.f, const IVStyle& style = DEFAULT_STYLE);
-
454
-
455 void Draw(IGraphics& g) override;
-
456 void DrawWidget(IGraphics& g) override;
-
457 void OnResize() override;
-
458 void OnInit() override;
-
459
-
466 void SetBoundsBasedOnGroup(const char* groupName, float padL, float padT, float padR, float padB);
-
467protected:
-
468 WDL_String mGroupName;
-
469 float mPadL = 0.f;
-
470 float mPadT = 0.f;
-
471 float mPadR = 0.f;
-
472 float mPadB = 0.f;
-
473 float mLabelOffset = 10.f;
-
474 float mLabelPadding = 10.f;
-
475};
-
476
- -
479 , public IVectorBase
-
480{
-
481public:
-
482 IVPanelControl(const IRECT& bounds, const char* label = "", const IVStyle& style = DEFAULT_STYLE.WithColor(kFG, COLOR_TRANSLUCENT).WithEmboss(true))
-
483 : IContainerBase(bounds)
-
484 , IVectorBase(style)
-
485 {
-
486 mIgnoreMouse = true;
-
487 AttachIControl(this, label);
-
488 }
-
489
-
490 void Draw(IGraphics& g) override
-
491 {
-
492 DrawBackground(g, mRECT);
-
493 DrawWidget(g);
-
494 DrawLabel(g);
- -
496 }
-
497
-
498 void DrawWidget(IGraphics& g) override
-
499 {
-
500 DrawPressableRectangle(g, mWidgetBounds, false, false, false);
-
501 }
-
502
-
503 void OnAttached() override
-
504 {
-
505 if (mAttachFunc)
-
506 mAttachFunc(this, mWidgetBounds);
-
507 }
-
508
-
509 void OnResize() override
-
510 {
-
511 SetTargetRECT(MakeRects(mRECT));
-
512
-
513 if (mResizeFunc && mChildren.GetSize())
-
514 mResizeFunc(this, mWidgetBounds);
-
515 }
-
516};
-
517
- -
520 , public IVectorBase
-
521{
-
522public:
-
523 enum class ECellLayout { kGrid, kHorizontal, kVertical };
-
524
-
525 using ColorChosenFunc = std::function<void(int, IColor)>;
-
526
-
527 IVColorSwatchControl(const IRECT& bounds, const char* label = "", ColorChosenFunc func = nullptr, const IVStyle& spec = DEFAULT_STYLE, ECellLayout layout = ECellLayout::kGrid,
-
528 const std::initializer_list<EVColor>& colorIDs = { kBG, kFG, kPR, kFR, kHL, kSH, kX1, kX2, kX3 },
-
529 const std::initializer_list<const char*>& labelsForIDs = { kVColorStrs[kBG],kVColorStrs[kFG],kVColorStrs[kPR],kVColorStrs[kFR],kVColorStrs[kHL],kVColorStrs[kSH],kVColorStrs[kX1],kVColorStrs[kX2],kVColorStrs[kX3] });
-
530
-
531 virtual ~IVColorSwatchControl() { mLabels.Empty(true); }
-
532
-
533 void Draw(IGraphics& g) override;
-
534 void OnMouseOver(float x, float y, const IMouseMod& mod) override;
-
535 void OnMouseOut() override;
-
536 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
-
537 void OnResize() override;
-
538
-
539 void DrawWidget(IGraphics& g) override;
-
540
-
541private:
-
542 ColorChosenFunc mColorChosenFunc = nullptr;
-
543 int mCellOver = -1;
-
544 ECellLayout mLayout = ECellLayout::kVertical;
-
545 WDL_TypedBuf<IRECT> mCellRects;
-
546 WDL_PtrList<WDL_String> mLabels;
-
547 std::vector<EVColor> mColorIdForCells;
-
548};
-
549
-
550#pragma mark - SVG Vector Controls
-
551
- -
554{
-
555public:
-
556 ISVGKnobControl(const IRECT& bounds, const ISVG& svg, int paramIdx = kNoParameter);
-
557
-
558 void Draw(IGraphics& g) override;
-
559 void SetSVG(ISVG& svg);
-
560
-
561private:
-
562 ISVG mSVG;
-
563 float mStartAngle = -135.f;
-
564 float mEndAngle = 135.f;
+
444 std::vector<float> mPoints;
+
445};
+
446
+ +
449 , public IVectorBase
+
450{
+
451public:
+
459 IVGroupControl(const IRECT& bounds, const char* label = "", float labelOffset = 10.f, const IVStyle& style = DEFAULT_STYLE, IContainerBase::AttachFunc attachFunc = nullptr, IContainerBase::ResizeFunc resizeFunc = nullptr);
+
460
+
470 IVGroupControl(const char* label, const char* groupName, float padL = 0.f, float padT = 0.f, float padR = 0.f, float padB = 0.f, const IVStyle& style = DEFAULT_STYLE);
+
471
+
472 void Draw(IGraphics& g) override;
+
473 void DrawWidget(IGraphics& g) override;
+
474 void OnResize() override;
+
475 void OnInit() override;
+
476
+
483 void SetBoundsBasedOnGroup(const char* groupName, float padL, float padT, float padR, float padB);
+
484protected:
+
485 WDL_String mGroupName;
+
486 float mPadL = 0.f;
+
487 float mPadT = 0.f;
+
488 float mPadR = 0.f;
+
489 float mPadB = 0.f;
+
490 float mLabelOffset = 10.f;
+
491 float mLabelPadding = 10.f;
+
492};
+
493
+ +
496 , public IVectorBase
+
497{
+
498public:
+
499 IVPanelControl(const IRECT& bounds, const char* label = "", const IVStyle& style = DEFAULT_STYLE.WithColor(kFG, COLOR_TRANSLUCENT).WithEmboss(true))
+
500 : IContainerBase(bounds)
+
501 , IVectorBase(style)
+
502 {
+
503 mIgnoreMouse = true;
+
504 AttachIControl(this, label);
+
505 }
+
506
+
507 void Draw(IGraphics& g) override
+
508 {
+
509 DrawBackground(g, mRECT);
+
510 DrawWidget(g);
+
511 DrawLabel(g);
+ +
513 }
+
514
+
515 void DrawWidget(IGraphics& g) override
+
516 {
+
517 DrawPressableRectangle(g, mWidgetBounds, false, false, false);
+
518 }
+
519
+
520 void OnAttached() override
+
521 {
+
522 if (mAttachFunc)
+
523 mAttachFunc(this, mWidgetBounds);
+
524 }
+
525
+
526 void OnResize() override
+
527 {
+
528 SetTargetRECT(MakeRects(mRECT));
+
529
+
530 if (mResizeFunc && mChildren.GetSize())
+
531 mResizeFunc(this, mWidgetBounds);
+
532 }
+
533};
+
534
+ +
537 , public IVectorBase
+
538{
+
539public:
+
540 enum class ECellLayout { kGrid, kHorizontal, kVertical };
+
541
+
542 using ColorChosenFunc = std::function<void(int, IColor)>;
+
543
+
544 IVColorSwatchControl(const IRECT& bounds, const char* label = "", ColorChosenFunc func = nullptr, const IVStyle& spec = DEFAULT_STYLE, ECellLayout layout = ECellLayout::kGrid,
+
545 const std::initializer_list<EVColor>& colorIDs = { kBG, kFG, kPR, kFR, kHL, kSH, kX1, kX2, kX3 },
+
546 const std::initializer_list<const char*>& labelsForIDs = { kVColorStrs[kBG],kVColorStrs[kFG],kVColorStrs[kPR],kVColorStrs[kFR],kVColorStrs[kHL],kVColorStrs[kSH],kVColorStrs[kX1],kVColorStrs[kX2],kVColorStrs[kX3] });
+
547
+
548 virtual ~IVColorSwatchControl() { mLabels.Empty(true); }
+
549
+
550 void Draw(IGraphics& g) override;
+
551 void OnMouseOver(float x, float y, const IMouseMod& mod) override;
+
552 void OnMouseOut() override;
+
553 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
+
554 void OnResize() override;
+
555
+
556 void DrawWidget(IGraphics& g) override;
+
557
+
558private:
+
559 ColorChosenFunc mColorChosenFunc = nullptr;
+
560 int mCellOver = -1;
+
561 ECellLayout mLayout = ECellLayout::kVertical;
+
562 WDL_TypedBuf<IRECT> mCellRects;
+
563 WDL_PtrList<WDL_String> mLabels;
+
564 std::vector<EVColor> mColorIdForCells;
565};
566
- -
569{
-
570public:
-
576 ISVGButtonControl(const IRECT& bounds, IActionFunction aF, const ISVG& offImage, const ISVG& onImage);
+
567#pragma mark - SVG Vector Controls
+
568
+ +
571{
+
572public:
+
573 ISVGKnobControl(const IRECT& bounds, const ISVG& svg, int paramIdx = kNoParameter);
+
574
+
575 void Draw(IGraphics& g) override;
+
576 void SetSVG(ISVG& svg);
577
-
584 ISVGButtonControl(const IRECT& bounds, IActionFunction aF, const ISVG& image, const std::array<IColor, 4> colors = {COLOR_BLACK, COLOR_WHITE, COLOR_DARK_GRAY, COLOR_LIGHT_GRAY}, EColorReplacement colorReplacement = EColorReplacement::Fill);
-
585
-
586 void Draw(IGraphics& g) override;
-
587
-
588protected:
-
589 ISVG mOffSVG;
-
590 ISVG mOnSVG;
-
591 std::array<IColor, 4> mColors;
-
592 EColorReplacement mColorReplacement = EColorReplacement::None;
-
593};
-
594
- -
597{
-
598public:
-
604 ISVGToggleControl(const IRECT& bounds, IActionFunction aF, const ISVG& offImage, const ISVG& onImage);
-
605
-
611 ISVGToggleControl(const IRECT& bounds, int paramIdx, const ISVG& offImage, const ISVG& onImage);
-
612
-
619 ISVGToggleControl(const IRECT& bounds, IActionFunction aF, const ISVG& image, const std::array<IColor, 4> colors = {COLOR_BLACK, COLOR_WHITE, COLOR_DARK_GRAY, COLOR_LIGHT_GRAY}, EColorReplacement colorReplacement = EColorReplacement::Fill);
-
620
-
627 ISVGToggleControl(const IRECT& bounds, int paramIdx, const ISVG& image, const std::array<IColor, 4> colors = {COLOR_BLACK, COLOR_WHITE, COLOR_DARK_GRAY, COLOR_LIGHT_GRAY}, EColorReplacement colorReplacement = EColorReplacement::Fill);
-
628
-
629 void Draw(IGraphics& g) override;
-
630
-
631protected:
-
632 ISVG mOffSVG;
-
633 ISVG mOnSVG;
-
634 std::array<IColor, 4> mColors;
-
635 EColorReplacement mColorReplacement = EColorReplacement::None;
-
636};
+
578private:
+
579 ISVG mSVG;
+
580 float mStartAngle = -135.f;
+
581 float mEndAngle = 135.f;
+
582};
+
583
+ +
586{
+
587public:
+
593 ISVGButtonControl(const IRECT& bounds, IActionFunction aF, const ISVG& offImage, const ISVG& onImage);
+
594
+
601 ISVGButtonControl(const IRECT& bounds, IActionFunction aF, const ISVG& image, const std::array<IColor, 4> colors = {COLOR_BLACK, COLOR_WHITE, COLOR_DARK_GRAY, COLOR_LIGHT_GRAY}, EColorReplacement colorReplacement = EColorReplacement::Fill);
+
602
+
603 void Draw(IGraphics& g) override;
+
604
+
605protected:
+
606 ISVG mOffSVG;
+
607 ISVG mOnSVG;
+
608 std::array<IColor, 4> mColors;
+
609 EColorReplacement mColorReplacement = EColorReplacement::None;
+
610};
+
611
+ +
614{
+
615public:
+
621 ISVGToggleControl(const IRECT& bounds, IActionFunction aF, const ISVG& offImage, const ISVG& onImage);
+
622
+
628 ISVGToggleControl(const IRECT& bounds, int paramIdx, const ISVG& offImage, const ISVG& onImage);
+
629
+
636 ISVGToggleControl(const IRECT& bounds, IActionFunction aF, const ISVG& image, const std::array<IColor, 4> colors = {COLOR_BLACK, COLOR_WHITE, COLOR_DARK_GRAY, COLOR_LIGHT_GRAY}, EColorReplacement colorReplacement = EColorReplacement::Fill);
637
- -
640{
-
641public:
-
647 ISVGSwitchControl(const IRECT& bounds, const std::initializer_list<ISVG>& svgs, int paramIdx = kNoParameter, IActionFunction aF = nullptr);
-
648
-
649 void Draw(IGraphics& g) override;
-
650
-
651protected:
-
652 std::vector<ISVG> mSVGs;
+
644 ISVGToggleControl(const IRECT& bounds, int paramIdx, const ISVG& image, const std::array<IColor, 4> colors = {COLOR_BLACK, COLOR_WHITE, COLOR_DARK_GRAY, COLOR_LIGHT_GRAY}, EColorReplacement colorReplacement = EColorReplacement::Fill);
+
645
+
646 void Draw(IGraphics& g) override;
+
647
+
648protected:
+
649 ISVG mOffSVG;
+
650 ISVG mOnSVG;
+
651 std::array<IColor, 4> mColors;
+
652 EColorReplacement mColorReplacement = EColorReplacement::None;
653};
654
- +
657{
658public:
-
666 ISVGSliderControl(const IRECT& bounds, const ISVG& handleSvg, const ISVG& trackSVG, int paramIdx = kNoParameter, EDirection dir = EDirection::Vertical, double gearing = DEFAULT_GEARING);
+
664 ISVGSwitchControl(const IRECT& bounds, const std::initializer_list<ISVG>& svgs, int paramIdx = kNoParameter, IActionFunction aF = nullptr);
+
665
+
666 void Draw(IGraphics& g) override;
667
-
668 void Draw(IGraphics& g) override;
-
669 void OnResize() override;
-
670
-
671protected:
-
672 IRECT GetHandleBounds(double value = -1.0) const;
-
673
-
674 IRECT mTrackSVGBounds;
-
675 IRECT mHandleBoundsAtMax;
-
676 ISVG mHandleSVG;
-
677 ISVG mTrackSVG;
-
678};
-
679
-
680#pragma mark - Bitmap Controls
-
681
- -
684 , public IBitmapBase
-
685{
-
686public:
-
687 IBButtonControl(float x, float y, const IBitmap& bitmap, IActionFunction aF = DefaultClickActionFunc);
-
688
-
689 IBButtonControl(const IRECT& bounds, const IBitmap& bitmap, IActionFunction aF = DefaultClickActionFunc);
+
668protected:
+
669 std::vector<ISVG> mSVGs;
+
670};
+
671
+ +
674{
+
675public:
+
683 ISVGSliderControl(const IRECT& bounds, const ISVG& handleSvg, const ISVG& trackSVG, int paramIdx = kNoParameter, EDirection dir = EDirection::Vertical, double gearing = DEFAULT_GEARING);
+
684
+
685 void Draw(IGraphics& g) override;
+
686 void OnResize() override;
+
687
+
688protected:
+
689 IRECT GetHandleBounds(double value = -1.0) const;
690
-
691 void Draw(IGraphics& g) override { DrawBitmap(g); }
-
692 void OnRescale() override { mBitmap = GetUI()->GetScaledBitmap(mBitmap); }
-
693};
-
694
- -
697 , public IBitmapBase
-
698{
-
699public:
-
705 IBSwitchControl(float x, float y, const IBitmap& bitmap, int paramIdx = kNoParameter);
-
706
-
711 IBSwitchControl(const IRECT& bounds, const IBitmap& bitmap, int paramIdx = kNoParameter);
-
712
-
713 virtual ~IBSwitchControl() {}
-
714 void Draw(IGraphics& g) override { DrawBitmap(g); }
-
715 void OnRescale() override { mBitmap = GetUI()->GetScaledBitmap(mBitmap); }
-
716 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
-
717};
-
718
- -
721 , public IBitmapBase
-
722{
-
723public:
-
724 IBKnobControl(float x, float y, const IBitmap& bitmap, int paramIdx, EDirection direction = EDirection::Vertical, double gearing = DEFAULT_GEARING)
-
725 : IKnobControlBase(IRECT(x, y, bitmap), paramIdx, direction, gearing)
-
726 , IBitmapBase(bitmap) { AttachIControl(this); }
-
727
-
728 IBKnobControl(const IRECT& bounds, const IBitmap& bitmap, int paramIdx, EDirection direction = EDirection::Vertical, double gearing = DEFAULT_GEARING)
-
729 : IKnobControlBase(bounds.GetCentredInside(bitmap), paramIdx, direction, gearing)
-
730 , IBitmapBase(bitmap) { AttachIControl(this); }
-
731
-
732 virtual ~IBKnobControl() {}
-
733 void Draw(IGraphics& g) override { DrawBitmap(g); }
-
734 void OnRescale() override { mBitmap = GetUI()->GetScaledBitmap(mBitmap); }
-
735};
-
736
- +
691 IRECT mTrackSVGBounds;
+
692 IRECT mHandleBoundsAtMax;
+
693 ISVG mHandleSVG;
+
694 ISVG mTrackSVG;
+
695};
+
696
+
697#pragma mark - Bitmap Controls
+
698
+ +
701 , public IBitmapBase
+
702{
+
703public:
+
704 IBButtonControl(float x, float y, const IBitmap& bitmap, IActionFunction aF = DefaultClickActionFunc);
+
705
+
706 IBButtonControl(const IRECT& bounds, const IBitmap& bitmap, IActionFunction aF = DefaultClickActionFunc);
+
707
+
708 void Draw(IGraphics& g) override { DrawBitmap(g); }
+
709 void OnRescale() override { mBitmap = GetUI()->GetScaledBitmap(mBitmap); }
+
710};
+
711
+ +
714 , public IBitmapBase
+
715{
+
716public:
+
722 IBSwitchControl(float x, float y, const IBitmap& bitmap, int paramIdx = kNoParameter);
+
723
+
728 IBSwitchControl(const IRECT& bounds, const IBitmap& bitmap, int paramIdx = kNoParameter);
+
729
+
730 virtual ~IBSwitchControl() {}
+
731 void Draw(IGraphics& g) override { DrawBitmap(g); }
+
732 void OnRescale() override { mBitmap = GetUI()->GetScaledBitmap(mBitmap); }
+
733 void OnMouseDown(float x, float y, const IMouseMod& mod) override;
+
734};
+
735
+ +
738 , public IBitmapBase
739{
740public:
-
741 IBKnobRotaterControl(float x, float y, const IBitmap& bitmap, int paramIdx)
-
742 : IBKnobControl(IRECT(x, y, bitmap), bitmap, paramIdx) {}
-
743
-
744 IBKnobRotaterControl(const IRECT& bounds, const IBitmap& bitmap, int paramIdx)
-
745 : IBKnobControl(bounds.GetCentredInside(bitmap), bitmap, paramIdx) {}
-
746
-
747 virtual ~IBKnobRotaterControl() {}
-
748 void Draw(IGraphics& g) override;
-
749};
-
750
- -
753 , public IBitmapBase
-
754{
-
755public:
-
756 IBSliderControl(float x, float y, float trackLength, const IBitmap& handleBitmap, const IBitmap& trackBitmap = IBitmap(), int paramIdx = kNoParameter, EDirection dir = EDirection::Vertical, double gearing = DEFAULT_GEARING);
-
757
-
758 IBSliderControl(const IRECT& bounds, const IBitmap& handleBitmap, const IBitmap& trackBitmap = IBitmap(), int paramIdx = kNoParameter, EDirection dir = EDirection::Vertical, double gearing = DEFAULT_GEARING);
-
759
-
760 virtual ~IBSliderControl() {}
-
761
-
762 void Draw(IGraphics& g) override;
-
763 void OnRescale() override { mBitmap = GetUI()->GetScaledBitmap(mBitmap); }
-
764 void OnResize() override;
-
765
-
766 IRECT GetHandleBounds(double value = -1.0) const;
+
741 IBKnobControl(float x, float y, const IBitmap& bitmap, int paramIdx, EDirection direction = EDirection::Vertical, double gearing = DEFAULT_GEARING)
+
742 : IKnobControlBase(IRECT(x, y, bitmap), paramIdx, direction, gearing)
+
743 , IBitmapBase(bitmap) { AttachIControl(this); }
+
744
+
745 IBKnobControl(const IRECT& bounds, const IBitmap& bitmap, int paramIdx, EDirection direction = EDirection::Vertical, double gearing = DEFAULT_GEARING)
+
746 : IKnobControlBase(bounds.GetCentredInside(bitmap), paramIdx, direction, gearing)
+
747 , IBitmapBase(bitmap) { AttachIControl(this); }
+
748
+
749 virtual ~IBKnobControl() {}
+
750 void Draw(IGraphics& g) override { DrawBitmap(g); }
+
751 void OnRescale() override { mBitmap = GetUI()->GetScaledBitmap(mBitmap); }
+
752};
+
753
+ +
756{
+
757public:
+
758 IBKnobRotaterControl(float x, float y, const IBitmap& bitmap, int paramIdx)
+
759 : IBKnobControl(IRECT(x, y, bitmap), bitmap, paramIdx) {}
+
760
+
761 IBKnobRotaterControl(const IRECT& bounds, const IBitmap& bitmap, int paramIdx)
+
762 : IBKnobControl(bounds.GetCentredInside(bitmap), bitmap, paramIdx) {}
+
763
+
764 virtual ~IBKnobRotaterControl() {}
+
765 void Draw(IGraphics& g) override;
+
766};
767
-
768protected:
-
769 IBitmap mTrackBitmap;
-
770};
-
771
- -
774 , public IBitmapBase
-
775{
-
776public:
-
777 IBTextControl(const IRECT& bounds, const IBitmap& bitmap, const IText& text = DEFAULT_TEXT, const char* str = "", int charWidth = 6, int charHeight = 12, int charOffset = 0, bool multiLine = false, bool vCenter = true, EBlend blend = EBlend::Default);
-
778 virtual ~IBTextControl() {}
-
779
-
780 void Draw(IGraphics& g) override;
-
781 void OnRescale() override { mBitmap = GetUI()->GetScaledBitmap(mBitmap); }
-
782
-
783protected:
-
784 int mCharWidth, mCharHeight, mCharOffset;
-
785 bool mMultiLine;
-
786 bool mVCentre;
+ +
770 , public IBitmapBase
+
771{
+
772public:
+
773 IBSliderControl(float x, float y, float trackLength, const IBitmap& handleBitmap, const IBitmap& trackBitmap = IBitmap(), int paramIdx = kNoParameter, EDirection dir = EDirection::Vertical, double gearing = DEFAULT_GEARING);
+
774
+
775 IBSliderControl(const IRECT& bounds, const IBitmap& handleBitmap, const IBitmap& trackBitmap = IBitmap(), int paramIdx = kNoParameter, EDirection dir = EDirection::Vertical, double gearing = DEFAULT_GEARING);
+
776
+
777 virtual ~IBSliderControl() {}
+
778
+
779 void Draw(IGraphics& g) override;
+
780 void OnRescale() override { mBitmap = GetUI()->GetScaledBitmap(mBitmap); }
+
781 void OnResize() override;
+
782
+
783 IRECT GetHandleBounds(double value = -1.0) const;
+
784
+
785protected:
+
786 IBitmap mTrackBitmap;
787};
788
- -
791{
-
792public:
-
793 enum class EResponse {
-
794 Linear,
-
795 Log,
-
796 };
-
797
-
802 IBMeterControl(float x, float y, const IBitmap& bitmap, EResponse response = EResponse::Log, float lowRangeDB = -72.f, float highRangeDB = 12.f)
-
803 : IBitmapControl(x, y, bitmap)
-
804 , mResponse(response)
-
805 , mLowRangeDB(lowRangeDB)
-
806 , mHighRangeDB(highRangeDB)
-
807 {}
-
808
-
812 IBMeterControl(const IRECT& bounds, const IBitmap& bitmap, EResponse response = EResponse::Log, float lowRangeDB = -72.f, float highRangeDB = 12.f)
-
813 : IBitmapControl(bounds, bitmap)
-
814 , mResponse(response)
-
815 , mLowRangeDB(lowRangeDB)
-
816 , mHighRangeDB(highRangeDB)
-
817 {}
-
818
-
819 virtual ~IBMeterControl() {}
-
820 void Draw(IGraphics& g) override { DrawBitmap(g); }
-
821 void OnRescale() override { mBitmap = GetUI()->GetScaledBitmap(mBitmap); }
-
822 void OnMsgFromDelegate(int msgTag, int dataSize, const void* pData) override;
-
823
-
824protected:
-
825 float mHighRangeDB;
-
826 float mLowRangeDB;
-
827 EResponse mResponse = EResponse::Linear;
-
828};
-
829
-
830END_IGRAPHICS_NAMESPACE
-
831END_IPLUG_NAMESPACE
-
832
-
833// These meta controls depend on the other controls
-
834#include "IAboutBoxControl.h"
- -
836#include "IVNumberBoxControl.h"
-
837#include "IVTabbedPagesControl.h"
-
838
+ +
791 , public IBitmapBase
+
792{
+
793public:
+
794 IBTextControl(const IRECT& bounds, const IBitmap& bitmap, const IText& text = DEFAULT_TEXT, const char* str = "", int charWidth = 6, int charHeight = 12, int charOffset = 0, bool multiLine = false, bool vCenter = true, EBlend blend = EBlend::Default);
+
795 virtual ~IBTextControl() {}
+
796
+
797 void Draw(IGraphics& g) override;
+
798 void OnRescale() override { mBitmap = GetUI()->GetScaledBitmap(mBitmap); }
+
799
+
800protected:
+
801 int mCharWidth, mCharHeight, mCharOffset;
+
802 bool mMultiLine;
+
803 bool mVCentre;
+
804};
+
805
+ +
808{
+
809public:
+
810 enum class EResponse {
+
811 Linear,
+
812 Log,
+
813 };
+
814
+
819 IBMeterControl(float x, float y, const IBitmap& bitmap, EResponse response = EResponse::Log, float lowRangeDB = -72.f, float highRangeDB = 12.f)
+
820 : IBitmapControl(x, y, bitmap)
+
821 , mResponse(response)
+
822 , mLowRangeDB(lowRangeDB)
+
823 , mHighRangeDB(highRangeDB)
+
824 {}
+
825
+
829 IBMeterControl(const IRECT& bounds, const IBitmap& bitmap, EResponse response = EResponse::Log, float lowRangeDB = -72.f, float highRangeDB = 12.f)
+
830 : IBitmapControl(bounds, bitmap)
+
831 , mResponse(response)
+
832 , mLowRangeDB(lowRangeDB)
+
833 , mHighRangeDB(highRangeDB)
+
834 {}
+
835
+
836 virtual ~IBMeterControl() {}
+
837 void Draw(IGraphics& g) override { DrawBitmap(g); }
+
838 void OnRescale() override { mBitmap = GetUI()->GetScaledBitmap(mBitmap); }
+
839 void OnMsgFromDelegate(int msgTag, int dataSize, const void* pData) override;
+
840
+
841protected:
+
842 float mHighRangeDB;
+
843 float mLowRangeDB;
+
844 EResponse mResponse = EResponse::Linear;
+
845};
+
846
+
847END_IGRAPHICS_NAMESPACE
+
848END_IPLUG_NAMESPACE
+
849
+
850// These meta controls depend on the other controls
+
851#include "IAboutBoxControl.h"
+ +
853#include "IVNumberBoxControl.h"
+
854#include "IVTabbedPagesControl.h"
+
855
This file contains the base IControl implementation, along with some base classes for specific types ...
@@ -748,31 +749,31 @@
Includes meta controls for basic preset managers.
-
A bitmap button/momentary switch control.
Definition: IControls.h:685
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.h:691
-
void OnRescale() override
Implement to do something when graphics is scaled globally (e.g.
Definition: IControls.h:692
-
A bitmap knob/dial control that draws a frame from a stacked bitmap.
Definition: IControls.h:722
-
void OnRescale() override
Implement to do something when graphics is scaled globally (e.g.
Definition: IControls.h:734
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.h:733
-
A bitmap knob/dial control that rotates an image.
Definition: IControls.h:739
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1730
-
A bitmap meter control, that can be used for VUMeters.
Definition: IControls.h:791
-
void OnMsgFromDelegate(int msgTag, int dataSize, const void *pData) override
Implement to receive messages sent to the control, see IEditorDelegate:SendControlMsgFromDelegate()
Definition: IControls.cpp:1753
-
IBMeterControl(float x, float y, const IBitmap &bitmap, EResponse response=EResponse::Log, float lowRangeDB=-72.f, float highRangeDB=12.f)
Constructs a bitmap meter control.
Definition: IControls.h:802
-
IBMeterControl(const IRECT &bounds, const IBitmap &bitmap, EResponse response=EResponse::Log, float lowRangeDB=-72.f, float highRangeDB=12.f)
Constructs a bitmap meter control.
Definition: IControls.h:812
-
void OnRescale() override
Implement to do something when graphics is scaled globally (e.g.
Definition: IControls.h:821
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.h:820
-
A bitmap slider/fader control.
Definition: IControls.h:754
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1704
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1681
-
void OnRescale() override
Implement to do something when graphics is scaled globally (e.g.
Definition: IControls.h:763
-
A bitmap switch control.
Definition: IControls.h:698
-
void OnRescale() override
Implement to do something when graphics is scaled globally (e.g.
Definition: IControls.h:715
-
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1648
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.h:714
-
A control to display text using a monospace bitmap font.
Definition: IControls.h:775
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1748
-
void OnRescale() override
Implement to do something when graphics is scaled globally (e.g.
Definition: IControls.h:781
+
A bitmap button/momentary switch control.
Definition: IControls.h:702
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.h:708
+
void OnRescale() override
Implement to do something when graphics is scaled globally (e.g.
Definition: IControls.h:709
+
A bitmap knob/dial control that draws a frame from a stacked bitmap.
Definition: IControls.h:739
+
void OnRescale() override
Implement to do something when graphics is scaled globally (e.g.
Definition: IControls.h:751
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.h:750
+
A bitmap knob/dial control that rotates an image.
Definition: IControls.h:756
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1735
+
A bitmap meter control, that can be used for VUMeters.
Definition: IControls.h:808
+
void OnMsgFromDelegate(int msgTag, int dataSize, const void *pData) override
Implement to receive messages sent to the control, see IEditorDelegate:SendControlMsgFromDelegate()
Definition: IControls.cpp:1758
+
IBMeterControl(float x, float y, const IBitmap &bitmap, EResponse response=EResponse::Log, float lowRangeDB=-72.f, float highRangeDB=12.f)
Constructs a bitmap meter control.
Definition: IControls.h:819
+
IBMeterControl(const IRECT &bounds, const IBitmap &bitmap, EResponse response=EResponse::Log, float lowRangeDB=-72.f, float highRangeDB=12.f)
Constructs a bitmap meter control.
Definition: IControls.h:829
+
void OnRescale() override
Implement to do something when graphics is scaled globally (e.g.
Definition: IControls.h:838
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.h:837
+
A bitmap slider/fader control.
Definition: IControls.h:771
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1709
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1686
+
void OnRescale() override
Implement to do something when graphics is scaled globally (e.g.
Definition: IControls.h:780
+
A bitmap switch control.
Definition: IControls.h:715
+
void OnRescale() override
Implement to do something when graphics is scaled globally (e.g.
Definition: IControls.h:732
+
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1653
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.h:731
+
A control to display text using a monospace bitmap font.
Definition: IControls.h:792
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1753
+
void OnRescale() override
Implement to do something when graphics is scaled globally (e.g.
Definition: IControls.h:798
A base interface to be combined with IControl for bitmap-based controls "IBControls",...
Definition: IControl.h:724
void AttachIControl(IControl *pControl)
Call in the constructor of your IBControl to link the IBitmapBase and IControl.
Definition: IControl.h:737
void DrawBitmap(IGraphics &g)
Draw a frame of a multi-frame bitmap based on the IControl value.
Definition: IControl.h:741
@@ -790,17 +791,17 @@
IBitmap GetScaledBitmap(IBitmap &inBitmap)
Get a version of the input bitmap from the cache that corresponds to the current screen scale For exa...
Definition: IGraphics.cpp:1528
A base class for knob/dial controls, to handle mouse action and Sender.
Definition: IControl.h:1373
A class for setting the contents of a pop up menu.
-
A vector button/momentary switch control which shows an SVG image.
Definition: IControls.h:569
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1440
-
A vector knob/dial control which rotates an SVG image.
Definition: IControls.h:554
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1531
-
A Slider control with and SVG for track and handle.
Definition: IControls.h:657
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1560
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1566
-
A vector switch control which shows one of multiple SVG states.
Definition: IControls.h:640
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1548
-
A vector toggle switch control which shows an SVG image.
Definition: IControls.h:597
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1499
+
A vector button/momentary switch control which shows an SVG image.
Definition: IControls.h:586
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1445
+
A vector knob/dial control which rotates an SVG image.
Definition: IControls.h:571
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1536
+
A Slider control with and SVG for track and handle.
Definition: IControls.h:674
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1565
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1571
+
A vector switch control which shows one of multiple SVG states.
Definition: IControls.h:657
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1553
+
A vector toggle switch control which shows an SVG image.
Definition: IControls.h:614
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1504
A base class for slider/fader controls, to handle mouse action and Sender.
Definition: IControl.h:1403
A base class for switch controls.
Definition: IControl.h:1879
A basic control to display some text.
Definition: IControl.h:2157
@@ -809,78 +810,78 @@
bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:83
virtual void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:71
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:77
-
A control to show a color swatch of up to 9 colors.
Definition: IControls.h:521
-
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.cpp:1390
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1343
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1322
-
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1396
-
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:1328
-
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:1374
-
A control to draw a rectangle around a named IControl group.
Definition: IControls.h:433
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1243
-
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:1252
-
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:1235
-
void SetBoundsBasedOnGroup(const char *groupName, float padL, float padT, float padR, float padB)
Set the bounds of the group control based on the area occupied by the controls in a particular group.
Definition: IControls.cpp:1289
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1279
-
A vector knob control drawn using graphics primitives.
Definition: IControls.h:243
-
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:742
-
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.h:270
+
A control to show a color swatch of up to 9 colors.
Definition: IControls.h:538
+
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.cpp:1395
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1348
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1327
+
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1401
+
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:1333
+
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:1379
+
A control to draw a rectangle around a named IControl group.
Definition: IControls.h:450
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1248
+
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:1257
+
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:1240
+
void SetBoundsBasedOnGroup(const char *groupName, float padL, float padT, float padR, float padB)
Set the bounds of the group control based on the area occupied by the controls in a particular group.
Definition: IControls.cpp:1294
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1284
+
A vector knob control drawn using graphics primitives.
Definition: IControls.h:259
+
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:747
+
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.h:287
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:613
-
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:705
-
bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:721
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:715
+
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:710
+
bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:726
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:720
virtual void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:652
-
void OnMouseDblClick(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse double click event on this control.
Definition: IControls.cpp:690
-
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.cpp:699
+
void OnMouseDblClick(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse double click event on this control.
Definition: IControls.cpp:695
+
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.cpp:704
virtual IRECT GetKnobDragBounds() override
Get the area for which mouse deltas will be used to calculate the amount dragging changes the control...
Definition: IControls.cpp:621
-
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:676
-
void SetDirty(bool push, int valIdx=kNoValIdx) override
Mark the control as dirty, i.e.
Definition: IControls.cpp:732
+
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:681
+
void SetDirty(bool push, int valIdx=kNoValIdx) override
Mark the control as dirty, i.e.
Definition: IControls.cpp:737
A vector label control that can display text with a shadow.
Definition: IControls.h:44
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:38
-
A vector button that pops up a menu.
Definition: IControls.h:220
+
A vector button that pops up a menu.
Definition: IControls.h:236
void SetValueFromDelegate(double value, int valIdx=0) override
Set the control's value from the delegate This method is called from the class implementing the IEdit...
Definition: IControls.cpp:552
void SetValueFromUserInput(double value, int valIdx) override
Set the control's value after user input.
Definition: IControls.cpp:569
void SetStyle(const IVStyle &style) override
Set the Style of this IVControl.
Definition: IControls.cpp:546
void OnPopupMenuSelection(IPopupMenu *pSelectedMenu, int valIdx) override
Implement this method to handle popup menu selection after IGraphics::CreatePopupMenu/IControlPromptU...
Definition: IControls.cpp:560
-
A panel control which can be styled with emboss etc.
Definition: IControls.h:480
-
void OnAttached() override
Called after the control has been attached, and its delegate and graphics member variable set.
Definition: IControls.h:503
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.h:490
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.h:509
-
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.h:498
-
A vector plot to display functions and waveforms.
Definition: IControls.h:385
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1154
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1198
-
void AddPlotFunc(const IColor &color, const IPlotFunc &func)
add a new function to the plot
Definition: IControls.cpp:1204
-
std::function< double(double)> IPlotFunc
IVPlotControl passes values between 0 and 1 to this object, that are the plot normalized x values.
Definition: IControls.h:388
-
Groups a plot function and color.
Definition: IControls.h:393
-
A vector "radio buttons" switch control.
Definition: IControls.h:184
+
A panel control which can be styled with emboss etc.
Definition: IControls.h:497
+
void OnAttached() override
Called after the control has been attached, and its delegate and graphics member variable set.
Definition: IControls.h:520
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.h:507
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.h:526
+
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.h:515
+
A vector plot to display functions and waveforms.
Definition: IControls.h:402
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1159
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1203
+
void AddPlotFunc(const IColor &color, const IPlotFunc &func)
add a new function to the plot
Definition: IControls.cpp:1209
+
std::function< double(double)> IPlotFunc
IVPlotControl passes values between 0 and 1 to this object, that are the plot normalized x values.
Definition: IControls.h:405
+
Groups a plot function and color.
Definition: IControls.h:410
+
A vector "radio buttons" switch control.
Definition: IControls.h:200
int GetButtonForPoint(float x, float y) const override
Definition: IControls.cpp:504
virtual void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:486
-
A vector range slider control, with two handles.
Definition: IControls.h:339
-
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:1013
-
void OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod &mod) override
Implement this method to respond to a mouse drag event on this control.
Definition: IControls.cpp:1040
-
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1034
-
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.h:347
-
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.h:349
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:931
-
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:990
+
A vector range slider control, with two handles.
Definition: IControls.h:356
+
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:1018
+
void OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod &mod) override
Implement this method to respond to a mouse drag event on this control.
Definition: IControls.cpp:1045
+
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1039
+
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.h:364
+
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.h:366
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:936
+
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:995
A switch with a slide animation when clicked.
Definition: IControls.h:106
virtual void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:273
void SetDirty(bool push, int valIdx=kNoValIdx) override
Mark the control as dirty, i.e.
Definition: IControls.cpp:290
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:263
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:250
-
A vector slider control.
Definition: IControls.h:299
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:876
-
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.h:315
-
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:867
-
void SetDirty(bool push, int valIdx=kNoValIdx) override
Mark the control as dirty, i.e.
Definition: IControls.cpp:901
-
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.cpp:861
-
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:840
-
void OnMouseDblClick(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse double click event on this control.
Definition: IControls.cpp:852
-
virtual void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:807
-
bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:888
-
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:911
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:785
+
A vector slider control.
Definition: IControls.h:316
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:881
+
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.h:332
+
void OnMouseOver(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouseover event on this control.
Definition: IControls.cpp:872
+
void SetDirty(bool push, int valIdx=kNoValIdx) override
Mark the control as dirty, i.e.
Definition: IControls.cpp:906
+
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.cpp:866
+
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:845
+
void OnMouseDblClick(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse double click event on this control.
Definition: IControls.cpp:857
+
virtual void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:812
+
bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:893
+
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:916
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:790
A vector switch control.
Definition: IControls.h:74
void OnInit() override
Called just prior to when the control is attached, after its delegate and graphics member variable se...
Definition: IControls.cpp:144
bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:139
@@ -889,8 +890,8 @@
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:133
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:110
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.h:82
-
A vector "tab" multi switch control.
Definition: IControls.h:131
-
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.h:165
+
A vector "tab" multi switch control.
Definition: IControls.h:147
+
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControls.h:181
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:449
virtual bool IsHit(float x, float y) const override
Hit test the control.
Definition: IControls.cpp:426
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:431
@@ -905,13 +906,13 @@
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:175
A base class for mult-strip/track controls, such as multi-sliders, meters Track refers to the channel...
Definition: IControl.h:1431
void OnMouseOut() override
Implement this method to respond to a mouseout event on this control.
Definition: IControl.h:1527
-
A vector XY Pad slider control.
Definition: IControls.h:363
-
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1103
-
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:1073
-
void OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod &mod) override
Implement this method to respond to a mouse drag event on this control.
Definition: IControls.cpp:1121
-
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1131
-
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1062
-
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.cpp:1112
+
A vector XY Pad slider control.
Definition: IControls.h:380
+
void OnMouseDown(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse down event on this control.
Definition: IControls.cpp:1108
+
void DrawWidget(IGraphics &g) override
Draw the IVControl main widget (override)
Definition: IControls.cpp:1078
+
void OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod &mod) override
Implement this method to respond to a mouse drag event on this control.
Definition: IControls.cpp:1126
+
void OnResize() override
Called when IControl is constructed or resized using SetRect().
Definition: IControls.cpp:1136
+
void Draw(IGraphics &g) override
Draw the control to the graphics context.
Definition: IControls.cpp:1067
+
void OnMouseUp(float x, float y, const IMouseMod &mod) override
Implement this method to respond to a mouse up event on this control.
Definition: IControls.cpp:1117
A base interface to be combined with IControl for vectorial controls "IVControls",...
Definition: IControl.h:762
IRECT MakeRects(const IRECT &parent, bool hasHandle=false)
Calculate the rectangles for the various areas, depending on the style.
Definition: IControl.h:1163
virtual void DrawBackground(IGraphics &g, const IRECT &rect)
Draw the IVControl background (usually transparent)
Definition: IControl.h:881
diff --git a/_i_v_tabbed_pages_control_8h_source.html b/_i_v_tabbed_pages_control_8h_source.html index 3b76da6f..140c9613 100644 --- a/_i_v_tabbed_pages_control_8h_source.html +++ b/_i_v_tabbed_pages_control_8h_source.html @@ -348,7 +348,7 @@
void OnStyleChanged() override
Implement if extra changes are required in response to style changing.
virtual void Draw(IGraphics &g) override
Draw the control to the graphics context.
IVTabPage(TabAttachFunc attachFunc=nullptr, ResizeFunc resizeFunc=DefaultResizeFunc, const IVStyle &style=DEFAULT_STYLE, double padding=kDefaultPadding)
Constructor.
-
A vector "tab" multi switch control.
Definition: IControls.h:131
+
A vector "tab" multi switch control.
Definition: IControls.h:147
A control to manage tabbed pages of sub controls Basic usage example:
void OnResize() override
Called when IControl is constructed or resized using SetRect().
void OnAttached() override
Called after the control has been attached, and its delegate and graphics member variable set.
diff --git a/class_i_b_button_control.html b/class_i_b_button_control.html index 3c14ce03..a856e22b 100644 --- a/class_i_b_button_control.html +++ b/class_i_b_button_control.html @@ -501,7 +501,7 @@

Detailed Description

A bitmap button/momentary switch control.

-

Definition at line 683 of file IControls.h.

+

Definition at line 700 of file IControls.h.

Constructor & Destructor Documentation

◆ IBButtonControl() [1/2]

@@ -541,7 +541,7 @@

-

Definition at line 1620 of file IControls.cpp.

+

Definition at line 1625 of file IControls.cpp.

@@ -577,7 +577,7 @@

-

Definition at line 1627 of file IControls.cpp.

+

Definition at line 1632 of file IControls.cpp.

@@ -616,7 +616,7 @@

IControl.

-

Definition at line 691 of file IControls.h.

+

Definition at line 708 of file IControls.h.

References IBitmapBase::DrawBitmap().

@@ -650,7 +650,7 @@

IControl.

-

Definition at line 692 of file IControls.h.

+

Definition at line 709 of file IControls.h.

References IGraphics::GetScaledBitmap(), and IControl::GetUI().

diff --git a/class_i_b_knob_control.html b/class_i_b_knob_control.html index f5aa8e84..49ecf52a 100644 --- a/class_i_b_knob_control.html +++ b/class_i_b_knob_control.html @@ -527,7 +527,7 @@

Detailed Description

A bitmap knob/dial control that draws a frame from a stacked bitmap.

-

Definition at line 720 of file IControls.h.

+

Definition at line 737 of file IControls.h.

Constructor & Destructor Documentation

◆ IBKnobControl() [1/2]

@@ -587,7 +587,7 @@

-

Definition at line 724 of file IControls.h.

+

Definition at line 741 of file IControls.h.

@@ -643,7 +643,7 @@

-

Definition at line 728 of file IControls.h.

+

Definition at line 745 of file IControls.h.

@@ -670,7 +670,7 @@

-

Definition at line 732 of file IControls.h.

+

Definition at line 749 of file IControls.h.

@@ -711,7 +711,7 @@

IBKnobRotaterControl.

-

Definition at line 733 of file IControls.h.

+

Definition at line 750 of file IControls.h.

References IBitmapBase::DrawBitmap().

@@ -745,7 +745,7 @@

IControl.

-

Definition at line 734 of file IControls.h.

+

Definition at line 751 of file IControls.h.

References IGraphics::GetScaledBitmap(), and IControl::GetUI().

diff --git a/class_i_b_knob_rotater_control.html b/class_i_b_knob_rotater_control.html index 7bdff65c..f8de1685 100644 --- a/class_i_b_knob_rotater_control.html +++ b/class_i_b_knob_rotater_control.html @@ -535,7 +535,7 @@

Detailed Description

A bitmap knob/dial control that rotates an image.

-

Definition at line 738 of file IControls.h.

+

Definition at line 755 of file IControls.h.

Constructor & Destructor Documentation

◆ IBKnobRotaterControl() [1/2]

@@ -583,7 +583,7 @@

-

Definition at line 741 of file IControls.h.

+

Definition at line 758 of file IControls.h.

@@ -627,7 +627,7 @@

-

Definition at line 744 of file IControls.h.

+

Definition at line 761 of file IControls.h.

@@ -654,7 +654,7 @@

-

Definition at line 747 of file IControls.h.

+

Definition at line 764 of file IControls.h.

@@ -693,7 +693,7 @@

IBKnobControl.

-

Definition at line 1730 of file IControls.cpp.

+

Definition at line 1735 of file IControls.cpp.

References IGraphics::DrawRotatedBitmap(), IControl::GetValue(), IRECT::MH(), and IRECT::MW().

diff --git a/class_i_b_meter_control.html b/class_i_b_meter_control.html index 299f4c64..47ea04ba 100644 --- a/class_i_b_meter_control.html +++ b/class_i_b_meter_control.html @@ -529,7 +529,7 @@

A bitmap meter control, that can be used for VUMeters.

Use with IPeakAvgSender<1>

-

Definition at line 790 of file IControls.h.

+

Definition at line 807 of file IControls.h.

Member Enumeration Documentation

◆ EResponse

@@ -551,7 +551,7 @@

-

Definition at line 793 of file IControls.h.

+

Definition at line 810 of file IControls.h.

@@ -624,7 +624,7 @@

Definition at line 802 of file IControls.h.

+

Definition at line 819 of file IControls.h.

@@ -689,7 +689,7 @@

Definition at line 812 of file IControls.h.

+

Definition at line 829 of file IControls.h.

@@ -716,7 +716,7 @@

-

Definition at line 819 of file IControls.h.

+

Definition at line 836 of file IControls.h.

@@ -755,7 +755,7 @@

IControl.

-

Definition at line 820 of file IControls.h.

+

Definition at line 837 of file IControls.h.

References IBitmapBase::DrawBitmap().

@@ -805,7 +805,7 @@

IControl.

-

Definition at line 1753 of file IControls.cpp.

+

Definition at line 1758 of file IControls.cpp.

References AmpToDB(), Clip(), IByteStream::Get(), IControl::IsDisabled(), IControl::SetDirty(), and IControl::SetValue().

@@ -839,7 +839,7 @@

IControl.

-

Definition at line 821 of file IControls.h.

+

Definition at line 838 of file IControls.h.

References IGraphics::GetScaledBitmap(), and IControl::GetUI().

@@ -866,7 +866,7 @@

-

Definition at line 825 of file IControls.h.

+

Definition at line 842 of file IControls.h.

@@ -890,7 +890,7 @@

-

Definition at line 826 of file IControls.h.

+

Definition at line 843 of file IControls.h.

@@ -914,7 +914,7 @@

-

Definition at line 827 of file IControls.h.

+

Definition at line 844 of file IControls.h.

diff --git a/class_i_b_slider_control.html b/class_i_b_slider_control.html index c116783b..4e64ede2 100644 --- a/class_i_b_slider_control.html +++ b/class_i_b_slider_control.html @@ -543,7 +543,7 @@

Detailed Description

A bitmap slider/fader control.

-

Definition at line 752 of file IControls.h.

+

Definition at line 769 of file IControls.h.

Constructor & Destructor Documentation

◆ IBSliderControl() [1/2]

@@ -607,7 +607,7 @@

-

Definition at line 1661 of file IControls.cpp.

+

Definition at line 1666 of file IControls.cpp.

@@ -661,7 +661,7 @@

-

Definition at line 1673 of file IControls.cpp.

+

Definition at line 1678 of file IControls.cpp.

@@ -688,7 +688,7 @@

-

Definition at line 760 of file IControls.h.

+

Definition at line 777 of file IControls.h.

@@ -727,7 +727,7 @@

IControl.

-

Definition at line 1681 of file IControls.cpp.

+

Definition at line 1686 of file IControls.cpp.

References IGraphics::DrawBitmap(), IRECT::GetCentredInside(), and IBitmap::IsValid().

@@ -749,7 +749,7 @@

-

Definition at line 1689 of file IControls.cpp.

+

Definition at line 1694 of file IControls.cpp.

@@ -781,7 +781,7 @@

IControl.

-

Definition at line 763 of file IControls.h.

+

Definition at line 780 of file IControls.h.

References IGraphics::GetScaledBitmap(), and IControl::GetUI().

@@ -815,7 +815,7 @@

IControl.

-

Definition at line 1704 of file IControls.cpp.

+

Definition at line 1709 of file IControls.cpp.

References IRECT::GetCentredInside(), IRECT::GetMidHPadded(), IRECT::GetMidVPadded(), IBitmap::H(), IBitmap::IsValid(), IControl::SetDirty(), and IBitmap::W().

@@ -842,7 +842,7 @@

-

Definition at line 769 of file IControls.h.

+

Definition at line 786 of file IControls.h.

diff --git a/class_i_b_switch_control.html b/class_i_b_switch_control.html index 4946f594..da38cc6b 100644 --- a/class_i_b_switch_control.html +++ b/class_i_b_switch_control.html @@ -526,7 +526,7 @@

A bitmap switch control.

Click to cycle through states.

-

Definition at line 696 of file IControls.h.

+

Definition at line 713 of file IControls.h.

Constructor & Destructor Documentation

◆ IBSwitchControl() [1/2]

@@ -577,7 +577,7 @@

Definition at line 1634 of file IControls.cpp.

+

Definition at line 1639 of file IControls.cpp.

References IBitmapBase::AttachIControl().

@@ -625,7 +625,7 @@

Definition at line 1641 of file IControls.cpp.

+

Definition at line 1646 of file IControls.cpp.

References IBitmapBase::AttachIControl().

@@ -654,7 +654,7 @@

-

Definition at line 713 of file IControls.h.

+

Definition at line 730 of file IControls.h.

@@ -693,7 +693,7 @@

IControl.

-

Definition at line 714 of file IControls.h.

+

Definition at line 731 of file IControls.h.

References IBitmapBase::DrawBitmap().

@@ -751,7 +751,7 @@

IControl.

-

Definition at line 1648 of file IControls.cpp.

+

Definition at line 1653 of file IControls.cpp.

References IControl::GetValue(), IBitmap::N(), IControl::SetDirty(), and IControl::SetValue().

@@ -785,7 +785,7 @@

IControl.

-

Definition at line 715 of file IControls.h.

+

Definition at line 732 of file IControls.h.

References IGraphics::GetScaledBitmap(), and IControl::GetUI().

diff --git a/class_i_b_text_control.html b/class_i_b_text_control.html index 796871df..f9156053 100644 --- a/class_i_b_text_control.html +++ b/class_i_b_text_control.html @@ -535,7 +535,7 @@

Detailed Description

A control to display text using a monospace bitmap font.

-

Definition at line 773 of file IControls.h.

+

Definition at line 790 of file IControls.h.

Constructor & Destructor Documentation

◆ IBTextControl()

@@ -611,7 +611,7 @@

-

Definition at line 1736 of file IControls.cpp.

+

Definition at line 1741 of file IControls.cpp.

@@ -638,7 +638,7 @@

-

Definition at line 778 of file IControls.h.

+

Definition at line 795 of file IControls.h.

@@ -677,7 +677,7 @@

IControl.

-

Definition at line 1748 of file IControls.cpp.

+

Definition at line 1753 of file IControls.cpp.

References IGraphics::DrawBitmapedText().

@@ -711,7 +711,7 @@

IControl.

-

Definition at line 781 of file IControls.h.

+

Definition at line 798 of file IControls.h.

References IGraphics::GetScaledBitmap(), and IControl::GetUI().

@@ -738,7 +738,7 @@

-

Definition at line 784 of file IControls.h.

+

Definition at line 801 of file IControls.h.

@@ -762,7 +762,7 @@

-

Definition at line 784 of file IControls.h.

+

Definition at line 801 of file IControls.h.

@@ -786,7 +786,7 @@

-

Definition at line 784 of file IControls.h.

+

Definition at line 801 of file IControls.h.

@@ -810,7 +810,7 @@

-

Definition at line 785 of file IControls.h.

+

Definition at line 802 of file IControls.h.

@@ -834,7 +834,7 @@

-

Definition at line 786 of file IControls.h.

+

Definition at line 803 of file IControls.h.

diff --git a/class_i_bitmap.html b/class_i_bitmap.html index 36da41fd..d7113c14 100644 --- a/class_i_bitmap.html +++ b/class_i_bitmap.html @@ -453,7 +453,7 @@

Definition at line 118 of file IGraphicsStructs.h.

-

Referenced by IGraphics::DrawBitmap(), IGraphicsNanoVG::DrawBitmap(), IGraphics::DrawFittedBitmap(), IGraphics::DrawRotatedBitmap(), IBSliderControl::OnResize(), and IGraphics::ScaleBitmap().

+

Referenced by IGraphics::DrawBitmap(), IGraphicsNanoVG::DrawBitmap(), IGraphics::DrawFittedBitmap(), IGraphics::DrawRotatedBitmap(), IBSliderControl::OnResize(), and IGraphics::ScaleBitmap().

@@ -483,7 +483,7 @@

Definition at line 145 of file IGraphicsStructs.h.

-

Referenced by IBSliderControl::Draw(), TestImageControl::Draw(), and IBSliderControl::OnResize().

+

Referenced by IBSliderControl::Draw(), TestImageControl::Draw(), and IBSliderControl::OnResize().

@@ -513,7 +513,7 @@

Definition at line 127 of file IGraphicsStructs.h.

-

Referenced by IGraphics::DrawBitmap(), IBitmapBase::DrawBitmap(), IGraphics::GetScaledBitmap(), IBSwitchControl::OnMouseDown(), and IGraphics::ScaleBitmap().

+

Referenced by IGraphics::DrawBitmap(), IBitmapBase::DrawBitmap(), IGraphics::GetScaledBitmap(), IBSwitchControl::OnMouseDown(), and IGraphics::ScaleBitmap().

@@ -543,7 +543,7 @@

Definition at line 115 of file IGraphicsStructs.h.

-

Referenced by IGraphics::DrawBitmap(), IGraphicsNanoVG::DrawBitmap(), IGraphics::DrawFittedBitmap(), IGraphics::DrawRotatedBitmap(), IBSliderControl::OnResize(), and IGraphics::ScaleBitmap().

+

Referenced by IGraphics::DrawBitmap(), IGraphicsNanoVG::DrawBitmap(), IGraphics::DrawFittedBitmap(), IGraphics::DrawRotatedBitmap(), IBSliderControl::OnResize(), and IGraphics::ScaleBitmap().

diff --git a/class_i_bitmap_base.html b/class_i_bitmap_base.html index 114437d4..e1393cb2 100644 --- a/class_i_bitmap_base.html +++ b/class_i_bitmap_base.html @@ -219,7 +219,7 @@

Definition at line 737 of file IControl.h.

-

Referenced by IBitmapControl::IBitmapControl(), and IBSwitchControl::IBSwitchControl().

+

Referenced by IBitmapControl::IBitmapControl(), and IBSwitchControl::IBSwitchControl().

@@ -259,7 +259,7 @@

References Clip(), IGraphics::DrawBitmap(), IControl::GetBlend(), IRECT::GetCentredInside(), IControl::GetRECT(), IControl::GetValue(), and IBitmap::N().

-

Referenced by IBButtonControl::Draw(), IBSwitchControl::Draw(), IBKnobControl::Draw(), IBMeterControl::Draw(), and IBitmapControl::Draw().

+

Referenced by IBButtonControl::Draw(), IBSwitchControl::Draw(), IBKnobControl::Draw(), IBMeterControl::Draw(), and IBitmapControl::Draw().

diff --git a/class_i_byte_stream.html b/class_i_byte_stream.html index 0a554114..b9932a22 100644 --- a/class_i_byte_stream.html +++ b/class_i_byte_stream.html @@ -248,7 +248,7 @@

References GetBytes().

-

Referenced by IBMeterControl::OnMsgFromDelegate(), IRTTextControl< MAXNC, T >::OnMsgFromDelegate(), IVDisplayControl::OnMsgFromDelegate(), IVMeterControl< MAXNC >::OnMsgFromDelegate(), IVPeakAvgMeterControl< MAXNC >::OnMsgFromDelegate(), and IVScopeControl< MAXNC, MAXBUF >::OnMsgFromDelegate().

+

Referenced by IBMeterControl::OnMsgFromDelegate(), IRTTextControl< MAXNC, T >::OnMsgFromDelegate(), IVDisplayControl::OnMsgFromDelegate(), IVMeterControl< MAXNC >::OnMsgFromDelegate(), IVPeakAvgMeterControl< MAXNC >::OnMsgFromDelegate(), and IVScopeControl< MAXNC, MAXBUF >::OnMsgFromDelegate().

diff --git a/class_i_control.html b/class_i_control.html index 680d128e..a5188773 100644 --- a/class_i_control.html +++ b/class_i_control.html @@ -1041,7 +1041,7 @@

Definition at line 431 of file IControl.cpp.

-

Referenced by DefaultAnimationFunc(), IPopupMenuControl::IPopupMenuControl(), IWheelControl::OnMouseUp(), and SplashAnimationFunc().

+

Referenced by DefaultAnimationFunc(), IPopupMenuControl::IPopupMenuControl(), IVSlideSwitchControl::IVSlideSwitchControl(), IWheelControl::OnMouseUp(), and SplashAnimationFunc().

@@ -1344,7 +1344,7 @@

References IEditorDelegate::GetParam(), and GetParamIdx().

-

Referenced by ICaptionControl::Draw(), IVMenuButtonControl::IVMenuButtonControl(), IVSwitchControl::OnInit(), IVTabSwitchControl::OnInit(), IVKnobControl::OnInit(), IVSliderControl::OnInit(), IVNumberBoxControl::OnInit(), ISwitchControlBase::OnInit(), ITextEntryControl::OnKeyDown(), IVNumberBoxControl::OnMouseDown(), ISliderControlBase::OnMouseDown(), IKnobControlBase::OnMouseDrag(), ISliderControlBase::OnMouseDrag(), IVNumberBoxControl::OnMouseUp(), IKnobControlBase::OnMouseWheel(), ISliderControlBase::OnMouseWheel(), OnPopupMenuSelection(), ICaptionControl::OnResize(), IGraphics::PromptUserInput(), PromptUserInput(), IGraphics::SetControlValueAfterTextEdit(), IVSwitchControl::SetDirty(), IVKnobControl::SetDirty(), IVSliderControl::SetDirty(), IVTrackControlBase::SetParams(), IVMenuButtonControl::SetValueFromDelegate(), IVNumberBoxControl::SetValueFromDelegate(), IVMenuButtonControl::SetValueFromUserInput(), IVNumberBoxControl::SetValueFromUserInput(), SetValueToDefault(), ShowBubbleHorizontalActionFunc(), and ShowBubbleVerticalActionFunc().

+

Referenced by ICaptionControl::Draw(), IVMenuButtonControl::IVMenuButtonControl(), IVSwitchControl::OnInit(), IVTabSwitchControl::OnInit(), IVKnobControl::OnInit(), IVSliderControl::OnInit(), IVNumberBoxControl::OnInit(), ISwitchControlBase::OnInit(), ITextEntryControl::OnKeyDown(), IVNumberBoxControl::OnMouseDown(), ISliderControlBase::OnMouseDown(), IKnobControlBase::OnMouseDrag(), ISliderControlBase::OnMouseDrag(), IVNumberBoxControl::OnMouseUp(), IKnobControlBase::OnMouseWheel(), ISliderControlBase::OnMouseWheel(), OnPopupMenuSelection(), ICaptionControl::OnResize(), IGraphics::PromptUserInput(), PromptUserInput(), IGraphics::SetControlValueAfterTextEdit(), IVSwitchControl::SetDirty(), IVKnobControl::SetDirty(), IVSliderControl::SetDirty(), IVTrackControlBase::SetParams(), IVMenuButtonControl::SetValueFromDelegate(), IVNumberBoxControl::SetValueFromDelegate(), IVMenuButtonControl::SetValueFromUserInput(), IVNumberBoxControl::SetValueFromUserInput(), SetValueToDefault(), ShowBubbleHorizontalActionFunc(), and ShowBubbleVerticalActionFunc().

@@ -1657,7 +1657,7 @@

Definition at line 472 of file IControl.h.

-

Referenced by AttachGestureRecognizer(), IPopupMenuControl::CreatePopupMenu(), ICornerResizerControl::Draw(), GetTag(), IPlatformViewControl::Hide(), IWebViewControl::Hide(), IBubbleControl::IBubbleControl(), IVectorBase::MakeRects(), IPlatformViewControl::OnAttached(), IWebViewControl::OnAttached(), TestDropShadowControl::OnDrop(), TestSVGControl::OnDrop(), IGraphicsLiveEdit::OnInit(), ITextEntryControl::OnKeyDown(), IGraphicsLiveEdit::OnKeyDown(), ICornerResizerControl::OnMouseDblClick(), IVNumberBoxControl::OnMouseDblClick(), TestTextControl::OnMouseDblClick(), PlaceHolder::OnMouseDblClick(), IVXYPadControl::OnMouseDown(), IVColorSwatchControl::OnMouseDown(), ICornerResizerControl::OnMouseDown(), ITextEntryControl::OnMouseDown(), IWheelControl::OnMouseDown(), IVNumberBoxControl::OnMouseDown(), ISkLottieControl::OnMouseDown(), TestArcControl::OnMouseDown(), TestCursorControl::OnMouseDown(), TestDirBrowseControl::OnMouseDown(), TestFlexBoxControl::OnMouseDown(), TestImageControl::OnMouseDown(), TestPolyControl::OnMouseDown(), TestSVGControl::OnMouseDown(), IKnobControlBase::OnMouseDown(), ISliderControlBase::OnMouseDown(), IEditableTextControl::OnMouseDown(), IURLControl::OnMouseDown(), IGraphicsLiveEdit::OnMouseDown(), IGraphicsLiveEdit::OnMouseDrag(), ICornerResizerControl::OnMouseOut(), TestCursorControl::OnMouseOut(), IURLControl::OnMouseOut(), ICornerResizerControl::OnMouseOver(), IURLControl::OnMouseOver(), IGraphicsLiveEdit::OnMouseOver(), IVXYPadControl::OnMouseUp(), IVNumberBoxControl::OnMouseUp(), TestArcControl::OnMouseUp(), TestPolyControl::OnMouseUp(), IKnobControlBase::OnMouseUp(), ISliderControlBase::OnMouseUp(), IGraphicsLiveEdit::OnMouseUp(), IGraphicsLiveEdit::OnPopupMenuSelection(), IBButtonControl::OnRescale(), IBSwitchControl::OnRescale(), IBKnobControl::OnRescale(), IBSliderControl::OnRescale(), IBTextControl::OnRescale(), IBMeterControl::OnRescale(), ICornerResizerControl::OnRescale(), IBitmapControl::OnRescale(), TestSizeControl::OnResize(), IGraphicsLiveEdit::OnResize(), PromptUserInput(), IVGroupControl::SetBoundsBasedOnGroup(), ITextControl::SetBoundsBasedOnStr(), SetDirty(), SetValueFromDelegate(), ShowBubbleHorizontalActionFunc(), ShowBubbleVerticalActionFunc(), and SplashClickActionFunc().

+

Referenced by AttachGestureRecognizer(), IPopupMenuControl::CreatePopupMenu(), ICornerResizerControl::Draw(), GetTag(), IPlatformViewControl::Hide(), IWebViewControl::Hide(), IBubbleControl::IBubbleControl(), IVectorBase::MakeRects(), IPlatformViewControl::OnAttached(), IWebViewControl::OnAttached(), TestDropShadowControl::OnDrop(), TestSVGControl::OnDrop(), IGraphicsLiveEdit::OnInit(), ITextEntryControl::OnKeyDown(), IGraphicsLiveEdit::OnKeyDown(), ICornerResizerControl::OnMouseDblClick(), IVNumberBoxControl::OnMouseDblClick(), TestTextControl::OnMouseDblClick(), PlaceHolder::OnMouseDblClick(), IVXYPadControl::OnMouseDown(), IVColorSwatchControl::OnMouseDown(), ICornerResizerControl::OnMouseDown(), ITextEntryControl::OnMouseDown(), IWheelControl::OnMouseDown(), IVNumberBoxControl::OnMouseDown(), ISkLottieControl::OnMouseDown(), TestArcControl::OnMouseDown(), TestCursorControl::OnMouseDown(), TestDirBrowseControl::OnMouseDown(), TestFlexBoxControl::OnMouseDown(), TestImageControl::OnMouseDown(), TestPolyControl::OnMouseDown(), TestSVGControl::OnMouseDown(), IKnobControlBase::OnMouseDown(), ISliderControlBase::OnMouseDown(), IEditableTextControl::OnMouseDown(), IURLControl::OnMouseDown(), IGraphicsLiveEdit::OnMouseDown(), IGraphicsLiveEdit::OnMouseDrag(), ICornerResizerControl::OnMouseOut(), TestCursorControl::OnMouseOut(), IURLControl::OnMouseOut(), ICornerResizerControl::OnMouseOver(), IURLControl::OnMouseOver(), IGraphicsLiveEdit::OnMouseOver(), IVXYPadControl::OnMouseUp(), IVNumberBoxControl::OnMouseUp(), TestArcControl::OnMouseUp(), TestPolyControl::OnMouseUp(), IKnobControlBase::OnMouseUp(), ISliderControlBase::OnMouseUp(), IGraphicsLiveEdit::OnMouseUp(), IGraphicsLiveEdit::OnPopupMenuSelection(), IBButtonControl::OnRescale(), IBSwitchControl::OnRescale(), IBKnobControl::OnRescale(), IBSliderControl::OnRescale(), IBTextControl::OnRescale(), IBMeterControl::OnRescale(), ICornerResizerControl::OnRescale(), IBitmapControl::OnRescale(), TestSizeControl::OnResize(), IGraphicsLiveEdit::OnResize(), PromptUserInput(), IVGroupControl::SetBoundsBasedOnGroup(), ITextControl::SetBoundsBasedOnStr(), SetDirty(), SetValueFromDelegate(), ShowBubbleHorizontalActionFunc(), ShowBubbleVerticalActionFunc(), and SplashClickActionFunc().

@@ -1737,7 +1737,7 @@

Definition at line 250 of file IControl.h.

-

Referenced by OnMouseDblClick(), IVKnobControl::OnMouseDblClick(), IVSliderControl::OnMouseDblClick(), IGraphics::OnMouseDown(), and OnMouseDown().

+

Referenced by OnMouseDblClick(), IVKnobControl::OnMouseDblClick(), IVSliderControl::OnMouseDblClick(), IGraphics::OnMouseDown(), and OnMouseDown().

@@ -1770,7 +1770,7 @@

References NVals().

-

Referenced by ISVGKnobControl::Draw(), ISVGButtonControl::Draw(), ISVGToggleControl::Draw(), ISVGSliderControl::Draw(), IBKnobRotaterControl::Draw(), ILEDControl::Draw(), IWheelControl::Draw(), TestArcControl::Draw(), TestBlendControl::Draw(), TestGradientControl::Draw(), TestLayerControl::Draw(), TestMultiPathControl::Draw(), TestPolyControl::Draw(), TestTextOrientationControl::Draw(), TestTextSizeControl::Draw(), IBitmapBase::DrawBitmap(), IVToggleControl::DrawValue(), IVButtonControl::DrawWidget(), IVToggleControl::DrawWidget(), IVKnobControl::DrawWidget(), IVSliderControl::DrawWidget(), IVRangeSliderControl::DrawWidget(), IVXYPadControl::DrawWidget(), IWheelControl::IWheelControl(), IBSwitchControl::OnMouseDown(), IVMultiSliderControl< MAXNC >::OnMouseDown(), IKnobControlBase::OnMouseDown(), ISliderControlBase::OnMouseDown(), ISwitchControlBase::OnMouseDown(), ITextToggleControl::OnMouseDown(), IVRangeSliderControl::OnMouseDrag(), IWheelControl::OnMouseUp(), IKnobControlBase::OnMouseWheel(), ISliderControlBase::OnMouseWheel(), ITextToggleControl::SetDirty(), SetDirty(), SetValueFromDelegate(), IVMenuButtonControl::SetValueFromUserInput(), SetValueFromUserInput(), IVMultiSliderControl< MAXNC >::SnapToMouse(), and IGraphics::UpdatePeers().

+

Referenced by ISVGKnobControl::Draw(), ISVGButtonControl::Draw(), ISVGToggleControl::Draw(), ISVGSliderControl::Draw(), IBKnobRotaterControl::Draw(), ILEDControl::Draw(), IWheelControl::Draw(), TestArcControl::Draw(), TestBlendControl::Draw(), TestGradientControl::Draw(), TestLayerControl::Draw(), TestMultiPathControl::Draw(), TestPolyControl::Draw(), TestTextOrientationControl::Draw(), TestTextSizeControl::Draw(), IBitmapBase::DrawBitmap(), IVToggleControl::DrawValue(), IVButtonControl::DrawWidget(), IVToggleControl::DrawWidget(), IVKnobControl::DrawWidget(), IVSliderControl::DrawWidget(), IVRangeSliderControl::DrawWidget(), IVXYPadControl::DrawWidget(), IWheelControl::IWheelControl(), IBSwitchControl::OnMouseDown(), IVMultiSliderControl< MAXNC >::OnMouseDown(), IKnobControlBase::OnMouseDown(), ISliderControlBase::OnMouseDown(), ISwitchControlBase::OnMouseDown(), ITextToggleControl::OnMouseDown(), IVRangeSliderControl::OnMouseDrag(), IWheelControl::OnMouseUp(), IKnobControlBase::OnMouseWheel(), ISliderControlBase::OnMouseWheel(), ITextToggleControl::SetDirty(), SetDirty(), SetValueFromDelegate(), IVMenuButtonControl::SetValueFromUserInput(), SetValueFromUserInput(), IVMultiSliderControl< MAXNC >::SnapToMouse(), and IGraphics::UpdatePeers().

@@ -1966,7 +1966,7 @@

Definition at line 367 of file IControl.h.

-

Referenced by IVLabelControl::Draw(), IVKeyboardControl::Draw(), IGraphicsLiveEdit::Draw(), IVButtonControl::DrawWidget(), IVSwitchControl::DrawWidget(), IVToggleControl::DrawWidget(), IVTabSwitchControl::DrawWidget(), IVRadioButtonControl::DrawWidget(), IVKnobControl::DrawWidget(), IVNumberBoxControl::OnMouseDblClick(), IBMeterControl::OnMsgFromDelegate(), IRTTextControl< MAXNC, T >::OnMsgFromDelegate(), IVDisplayControl::OnMsgFromDelegate(), IVMeterControl< MAXNC >::OnMsgFromDelegate(), IVPeakAvgMeterControl< MAXNC >::OnMsgFromDelegate(), IVMultiSliderControl< MAXNC >::OnMsgFromDelegate(), and IVScopeControl< MAXNC, MAXBUF >::OnMsgFromDelegate().

+

Referenced by IVLabelControl::Draw(), IVKeyboardControl::Draw(), IGraphicsLiveEdit::Draw(), IVButtonControl::DrawWidget(), IVSwitchControl::DrawWidget(), IVToggleControl::DrawWidget(), IVTabSwitchControl::DrawWidget(), IVRadioButtonControl::DrawWidget(), IVNumberBoxControl::OnMouseDblClick(), IBMeterControl::OnMsgFromDelegate(), IRTTextControl< MAXNC, T >::OnMsgFromDelegate(), IVDisplayControl::OnMsgFromDelegate(), IVMeterControl< MAXNC >::OnMsgFromDelegate(), IVPeakAvgMeterControl< MAXNC >::OnMsgFromDelegate(), IVMultiSliderControl< MAXNC >::OnMsgFromDelegate(), and IVScopeControl< MAXNC, MAXBUF >::OnMsgFromDelegate().

@@ -2111,7 +2111,7 @@

Definition at line 244 of file IControl.h.

-

Referenced by IVRangeSliderControl::DrawWidget(), IVTrackControlBase::DrawWidget(), ForValIdx(), GetParamIdx(), IVTrackControlBase::GetValIdxForPos(), GetValue(), LinkedToParam(), IGraphics::OnMouseDown(), IVRangeSliderControl::OnMouseDrag(), IVRangeSliderControl::OnMouseOver(), IGraphics::OnMouseUp(), IGEditorDelegate::SendParameterValueFromDelegate(), IGraphics::SetControlValueAfterPopupMenu(), SetDirty(), SetParamIdx(), SetValue(), SetValueToDefault(), and IVMultiSliderControl< MAXNC >::SnapToMouse().

+

Referenced by IVRangeSliderControl::DrawWidget(), IVTrackControlBase::DrawWidget(), ForValIdx(), GetParamIdx(), IVTrackControlBase::GetValIdxForPos(), GetValue(), LinkedToParam(), IGraphics::OnMouseDown(), IVRangeSliderControl::OnMouseDrag(), IVRangeSliderControl::OnMouseOver(), IGraphics::OnMouseUp(), IGEditorDelegate::SendParameterValueFromDelegate(), IGraphics::SetControlValueAfterPopupMenu(), SetDirty(), SetParamIdx(), SetValue(), SetValueToDefault(), and IVMultiSliderControl< MAXNC >::SnapToMouse().

@@ -2795,7 +2795,7 @@

References mMouseIsOver, and SetDirty().

-

Referenced by IGraphics::OnMouseOut(), IVSwitchControl::OnMouseOut(), IVTabSwitchControl::OnMouseOut(), IVKnobControl::OnMouseOut(), IVSliderControl::OnMouseOut(), ICornerResizerControl::OnMouseOut(), TestCursorControl::OnMouseOut(), IURLControl::OnMouseOut(), and IGraphics::OnMouseOver().

+

Referenced by IGraphics::OnMouseOut(), IVSwitchControl::OnMouseOut(), IVTabSwitchControl::OnMouseOut(), IVKnobControl::OnMouseOut(), IVSliderControl::OnMouseOut(), ICornerResizerControl::OnMouseOut(), TestCursorControl::OnMouseOut(), IURLControl::OnMouseOut(), and IGraphics::OnMouseOver().

@@ -2855,7 +2855,7 @@

References mMouseIsOver, and SetDirty().

-

Referenced by IGraphics::OnMouseOver(), IVTabSwitchControl::OnMouseOver(), IVKnobControl::OnMouseOver(), IVSliderControl::OnMouseOver(), ICornerResizerControl::OnMouseOver(), and IURLControl::OnMouseOver().

+

Referenced by IGraphics::OnMouseOver(), IVTabSwitchControl::OnMouseOver(), IVKnobControl::OnMouseOver(), IVSliderControl::OnMouseOver(), ICornerResizerControl::OnMouseOver(), and IURLControl::OnMouseOver().

@@ -3331,7 +3331,7 @@

References GetParam(), GetParamIdx(), GetUI(), IRECT::MH(), IRECT::MW(), IGraphics::PromptUserInput(), and SetDirty().

-

Referenced by IVMenuButtonControl::IVMenuButtonControl(), OnMouseDblClick(), IVKnobControl::OnMouseDblClick(), IVSliderControl::OnMouseDblClick(), OnMouseDown(), IVKnobControl::OnMouseDown(), IVSliderControl::OnMouseDown(), and ICaptionControl::OnMouseDown().

+

Referenced by IVMenuButtonControl::IVMenuButtonControl(), OnMouseDblClick(), IVKnobControl::OnMouseDblClick(), IVSliderControl::OnMouseDblClick(), OnMouseDown(), IVKnobControl::OnMouseDown(), IVSliderControl::OnMouseDown(), and ICaptionControl::OnMouseDown().

@@ -3370,7 +3370,7 @@

Definition at line 211 of file IControl.h.

-

Referenced by IBubbleControl::IBubbleControl(), IPopupMenuControl::IPopupMenuControl(), and IWheelControl::IWheelControl().

+

Referenced by IBubbleControl::IBubbleControl(), IPopupMenuControl::IPopupMenuControl(), IVSlideSwitchControl::IVSlideSwitchControl(), and IWheelControl::IWheelControl().

@@ -3408,7 +3408,7 @@

Definition at line 497 of file IControl.h.

-

Referenced by DefaultClickActionFunc(), IBubbleControl::IBubbleControl(), IPopupMenuControl::IPopupMenuControl(), ILambdaControl::OnMouseDown(), IWheelControl::OnMouseUp(), and SplashClickActionFunc().

+

Referenced by DefaultClickActionFunc(), IBubbleControl::IBubbleControl(), IPopupMenuControl::IPopupMenuControl(), IVSlideSwitchControl::IVSlideSwitchControl(), ILambdaControl::OnMouseDown(), IWheelControl::OnMouseUp(), and SplashClickActionFunc().

@@ -3496,7 +3496,7 @@

Definition at line 216 of file IControl.h.

-

Referenced by IBubbleControl::IBubbleControl(), IVMenuButtonControl::IVMenuButtonControl(), IVNumberBoxControl::OnAttached(), IVBakedPresetManagerControl::OnAttached(), and IVDiskPresetManagerControl::OnAttached().

+

Referenced by IBubbleControl::IBubbleControl(), IVMenuButtonControl::IVMenuButtonControl(), IVSlideSwitchControl::IVSlideSwitchControl(), IVNumberBoxControl::OnAttached(), IVBakedPresetManagerControl::OnAttached(), and IVDiskPresetManagerControl::OnAttached().

@@ -3640,7 +3640,7 @@

References Clip(), ForValIdx(), GetDelegate(), GetParamIdx(), GetUI(), GetValue(), NVals(), IEditorDelegate::SendParameterValueFromUI(), SetValue(), and IGraphics::UpdatePeers().

-

Referenced by IVPlotControl::AddPlotFunc(), IPopupMenuControl::CalculateMenuPanels(), IGraphics::CreateTextEntry(), Hide(), IBubbleControl::IBubbleControl(), TestDragAndDropControl::OnDrop(), TestDropShadowControl::OnDrop(), TestSVGControl::OnDrop(), TestDragAndDropControl::OnDropMultiple(), TestGesturesControl::OnInit(), IVKeyboardControl::OnMidi(), IWheelControl::OnMidi(), TestTextControl::OnMouseDblClick(), IVTabSwitchControl::OnMouseDown(), IBSwitchControl::OnMouseDown(), IVKeyboardControl::OnMouseDown(), IVMultiSliderControl< MAXNC >::OnMouseDown(), ISkLottieControl::OnMouseDown(), TestAnimationControl::OnMouseDown(), TestCursorControl::OnMouseDown(), TestDirBrowseControl::OnMouseDown(), TestFontControl::OnMouseDown(), TestGradientControl::OnMouseDown(), TestLayerControl::OnMouseDown(), TestMultiPathControl::OnMouseDown(), TestSVGControl::OnMouseDown(), TestTextControl::OnMouseDown(), IButtonControlBase::OnMouseDown(), ISwitchControlBase::OnMouseDown(), IVXYPadControl::OnMouseDrag(), IPopupMenuControl::OnMouseDrag(), IShaderControl::OnMouseDrag(), IVKeyboardControl::OnMouseDrag(), TestMTControl::OnMouseDrag(), IKnobControlBase::OnMouseDrag(), ISliderControlBase::OnMouseDrag(), ILambdaControl::OnMouseDrag(), TestBezierControl::OnMouseDrag(), OnMouseOut(), IVTabSwitchControl::OnMouseOut(), IVColorSwatchControl::OnMouseOut(), IVKeyboardControl::OnMouseOut(), IVTrackControlBase::OnMouseOut(), OnMouseOver(), IVTabSwitchControl::OnMouseOver(), IVRangeSliderControl::OnMouseOver(), IVColorSwatchControl::OnMouseOver(), IPopupMenuControl::OnMouseOver(), IVKeyboardControl::OnMouseOver(), TestBezierControl::OnMouseOver(), IVTrackControlBase::OnMouseOver(), IVXYPadControl::OnMouseUp(), IShaderControl::OnMouseUp(), ITextEntryControl::OnMouseUp(), IVKeyboardControl::OnMouseUp(), IVNumberBoxControl::OnMouseUp(), TestMTControl::OnMouseUp(), TestTextOrientationControl::OnMouseUp(), TestTextSizeControl::OnMouseUp(), IKnobControlBase::OnMouseUp(), ISliderControlBase::OnMouseUp(), ISwitchControlBase::OnMouseUp(), ILambdaControl::OnMouseUp(), IKnobControlBase::OnMouseWheel(), ISliderControlBase::OnMouseWheel(), IBMeterControl::OnMsgFromDelegate(), IRTTextControl< MAXNC, T >::OnMsgFromDelegate(), IVDisplayControl::OnMsgFromDelegate(), IVMeterControl< MAXNC >::OnMsgFromDelegate(), IVPeakAvgMeterControl< MAXNC >::OnMsgFromDelegate(), IVScopeControl< MAXNC, MAXBUF >::OnMsgFromDelegate(), TestDirBrowseControl::OnPopupMenuSelection(), TestFlexBoxControl::OnPopupMenuSelection(), IVButtonControl::OnResize(), IVTabSwitchControl::OnResize(), IVXYPadControl::OnResize(), IVPlotControl::OnResize(), IVGroupControl::OnResize(), IVColorSwatchControl::OnResize(), ISVGSliderControl::OnResize(), IBSliderControl::OnResize(), IVDisplayControl::OnResize(), IVKeyboardControl::OnResize(), IVScopeControl< MAXNC, MAXBUF >::OnResize(), ISliderControlBase::OnResize(), IVTrackControlBase::OnResize(), IEditableTextControl::OnTextEntryCompletion(), IVKeyboardControl::OnTouchCancelled(), PromptUserInput(), IGraphics::SetAllControlsDirty(), IURLControl::SetCLColor(), IVectorBase::SetColor(), ITextToggleControl::SetDirty(), IVSwitchControl::SetDirty(), IVKnobControl::SetDirty(), IVSliderControl::SetDirty(), SetDisabled(), IURLControl::SetMOColor(), SetParamIdx(), SetPTParameterHighlight(), ITextControl::SetStr(), ITextControl::SetStrFmt(), SetValueFromDelegate(), IVMenuButtonControl::SetValueFromUserInput(), SetValueFromUserInput(), SetValueToDefault(), SnapToMouse(), IVMultiSliderControl< MAXNC >::SnapToMouse(), and SplashAnimationFunc().

+

Referenced by IVPlotControl::AddPlotFunc(), IPopupMenuControl::CalculateMenuPanels(), IGraphics::CreateTextEntry(), Hide(), IBubbleControl::IBubbleControl(), TestDragAndDropControl::OnDrop(), TestDropShadowControl::OnDrop(), TestSVGControl::OnDrop(), TestDragAndDropControl::OnDropMultiple(), TestGesturesControl::OnInit(), IVKeyboardControl::OnMidi(), IWheelControl::OnMidi(), TestTextControl::OnMouseDblClick(), IVTabSwitchControl::OnMouseDown(), IBSwitchControl::OnMouseDown(), IVKeyboardControl::OnMouseDown(), IVMultiSliderControl< MAXNC >::OnMouseDown(), ISkLottieControl::OnMouseDown(), TestAnimationControl::OnMouseDown(), TestCursorControl::OnMouseDown(), TestDirBrowseControl::OnMouseDown(), TestFontControl::OnMouseDown(), TestGradientControl::OnMouseDown(), TestLayerControl::OnMouseDown(), TestMultiPathControl::OnMouseDown(), TestSVGControl::OnMouseDown(), TestTextControl::OnMouseDown(), IButtonControlBase::OnMouseDown(), ISwitchControlBase::OnMouseDown(), IVXYPadControl::OnMouseDrag(), IPopupMenuControl::OnMouseDrag(), IShaderControl::OnMouseDrag(), IVKeyboardControl::OnMouseDrag(), TestMTControl::OnMouseDrag(), IKnobControlBase::OnMouseDrag(), ISliderControlBase::OnMouseDrag(), ILambdaControl::OnMouseDrag(), TestBezierControl::OnMouseDrag(), OnMouseOut(), IVTabSwitchControl::OnMouseOut(), IVColorSwatchControl::OnMouseOut(), IVKeyboardControl::OnMouseOut(), IVTrackControlBase::OnMouseOut(), OnMouseOver(), IVTabSwitchControl::OnMouseOver(), IVRangeSliderControl::OnMouseOver(), IVColorSwatchControl::OnMouseOver(), IPopupMenuControl::OnMouseOver(), IVKeyboardControl::OnMouseOver(), TestBezierControl::OnMouseOver(), IVTrackControlBase::OnMouseOver(), IVXYPadControl::OnMouseUp(), IShaderControl::OnMouseUp(), ITextEntryControl::OnMouseUp(), IVKeyboardControl::OnMouseUp(), IVNumberBoxControl::OnMouseUp(), TestMTControl::OnMouseUp(), TestTextOrientationControl::OnMouseUp(), TestTextSizeControl::OnMouseUp(), IKnobControlBase::OnMouseUp(), ISliderControlBase::OnMouseUp(), ISwitchControlBase::OnMouseUp(), ILambdaControl::OnMouseUp(), IKnobControlBase::OnMouseWheel(), ISliderControlBase::OnMouseWheel(), IBMeterControl::OnMsgFromDelegate(), IRTTextControl< MAXNC, T >::OnMsgFromDelegate(), IVDisplayControl::OnMsgFromDelegate(), IVMeterControl< MAXNC >::OnMsgFromDelegate(), IVPeakAvgMeterControl< MAXNC >::OnMsgFromDelegate(), IVScopeControl< MAXNC, MAXBUF >::OnMsgFromDelegate(), TestDirBrowseControl::OnPopupMenuSelection(), TestFlexBoxControl::OnPopupMenuSelection(), IVButtonControl::OnResize(), IVTabSwitchControl::OnResize(), IVXYPadControl::OnResize(), IVPlotControl::OnResize(), IVGroupControl::OnResize(), IVColorSwatchControl::OnResize(), ISVGSliderControl::OnResize(), IBSliderControl::OnResize(), IVDisplayControl::OnResize(), IVKeyboardControl::OnResize(), IVScopeControl< MAXNC, MAXBUF >::OnResize(), ISliderControlBase::OnResize(), IVTrackControlBase::OnResize(), IEditableTextControl::OnTextEntryCompletion(), IVKeyboardControl::OnTouchCancelled(), PromptUserInput(), IGraphics::SetAllControlsDirty(), IURLControl::SetCLColor(), IVectorBase::SetColor(), ITextToggleControl::SetDirty(), IVSwitchControl::SetDirty(), IVKnobControl::SetDirty(), IVSliderControl::SetDirty(), SetDisabled(), IURLControl::SetMOColor(), SetParamIdx(), SetPTParameterHighlight(), ITextControl::SetStr(), ITextControl::SetStrFmt(), SetValueFromDelegate(), IVMenuButtonControl::SetValueFromUserInput(), SetValueFromUserInput(), SetValueToDefault(), SnapToMouse(), IVMultiSliderControl< MAXNC >::SnapToMouse(), and SplashAnimationFunc().

@@ -4236,7 +4236,7 @@

References mMouseIsOver.

-

Referenced by IPopupMenuControl::CalculateMenuPanels(), IGraphicsLiveEdit::OnMouseUp(), IVButtonControl::OnResize(), IVSwitchControl::OnResize(), IVTabSwitchControl::OnResize(), IVKnobControl::OnResize(), IVSliderControl::OnResize(), IVXYPadControl::OnResize(), IVPlotControl::OnResize(), IVGroupControl::OnResize(), IVPanelControl::OnResize(), IVColorSwatchControl::OnResize(), IVDisplayControl::OnResize(), IVNumberBoxControl::OnResize(), IVScopeControl< MAXNC, MAXBUF >::OnResize(), IVTabbedPagesControl::OnResize(), ISliderControlBase::OnResize(), IVTrackControlBase::OnResize(), IGraphicsLiveEdit::OnResize(), and SetPosition().

+

Referenced by IPopupMenuControl::CalculateMenuPanels(), IGraphicsLiveEdit::OnMouseUp(), IVButtonControl::OnResize(), IVSwitchControl::OnResize(), IVTabSwitchControl::OnResize(), IVKnobControl::OnResize(), IVSliderControl::OnResize(), IVXYPadControl::OnResize(), IVPlotControl::OnResize(), IVGroupControl::OnResize(), IVPanelControl::OnResize(), IVColorSwatchControl::OnResize(), IVDisplayControl::OnResize(), IVNumberBoxControl::OnResize(), IVScopeControl< MAXNC, MAXBUF >::OnResize(), IVTabbedPagesControl::OnResize(), ISliderControlBase::OnResize(), IVTrackControlBase::OnResize(), IGraphicsLiveEdit::OnResize(), and SetPosition().

@@ -4398,7 +4398,7 @@

References NVals().

-

Referenced by IWheelControl::IWheelControl(), IWheelControl::OnMidi(), IVTabSwitchControl::OnMouseDown(), IBSwitchControl::OnMouseDown(), IVMultiSliderControl< MAXNC >::OnMouseDown(), IButtonControlBase::OnMouseDown(), ISwitchControlBase::OnMouseDown(), ITextToggleControl::OnMouseDown(), IVXYPadControl::OnMouseDrag(), IKnobControlBase::OnMouseDrag(), ISliderControlBase::OnMouseDrag(), IWheelControl::OnMouseUp(), IKnobControlBase::OnMouseWheel(), ISliderControlBase::OnMouseWheel(), IBMeterControl::OnMsgFromDelegate(), IVMeterControl< MAXNC >::OnMsgFromDelegate(), IVPeakAvgMeterControl< MAXNC >::OnMsgFromDelegate(), SetDirty(), SetValueFromDelegate(), IVMenuButtonControl::SetValueFromUserInput(), SetValueFromUserInput(), SetValueToDefault(), SnapToMouse(), and IVMultiSliderControl< MAXNC >::SnapToMouse().

+

Referenced by IVSlideSwitchControl::IVSlideSwitchControl(), IWheelControl::IWheelControl(), IWheelControl::OnMidi(), IVTabSwitchControl::OnMouseDown(), IBSwitchControl::OnMouseDown(), IVMultiSliderControl< MAXNC >::OnMouseDown(), IButtonControlBase::OnMouseDown(), ISwitchControlBase::OnMouseDown(), ITextToggleControl::OnMouseDown(), IVXYPadControl::OnMouseDrag(), IKnobControlBase::OnMouseDrag(), ISliderControlBase::OnMouseDrag(), IWheelControl::OnMouseUp(), IKnobControlBase::OnMouseWheel(), ISliderControlBase::OnMouseWheel(), IBMeterControl::OnMsgFromDelegate(), IVMeterControl< MAXNC >::OnMsgFromDelegate(), IVPeakAvgMeterControl< MAXNC >::OnMsgFromDelegate(), SetDirty(), SetValueFromDelegate(), IVMenuButtonControl::SetValueFromUserInput(), SetValueFromUserInput(), SetValueToDefault(), SnapToMouse(), and IVMultiSliderControl< MAXNC >::SnapToMouse().

@@ -4544,7 +4544,7 @@

References ForValIdx(), IParam::GetDefault(), GetParam(), NVals(), SetDirty(), and SetValue().

-

Referenced by OnMouseDblClick(), IVKnobControl::OnMouseDblClick(), and IVSliderControl::OnMouseDblClick().

+

Referenced by OnMouseDblClick(), IVKnobControl::OnMouseDblClick(), and IVSliderControl::OnMouseDblClick().

@@ -4693,7 +4693,7 @@

References Clip(), IRECT::Constrain(), ForValIdx(), IRECT::H(), SetDirty(), SetValue(), and IRECT::W().

-

Referenced by ISliderControlBase::OnMouseDown(), IVRangeSliderControl::OnMouseDrag(), and ISliderControlBase::OnMouseDrag().

+

Referenced by ISliderControlBase::OnMouseDown(), IVRangeSliderControl::OnMouseDrag(), and ISliderControlBase::OnMouseDrag().

@@ -4972,7 +4972,7 @@

Definition at line 565 of file IControl.h.

-

Referenced by IVPanelControl::Draw(), ISVGButtonControl::Draw(), ISVGToggleControl::Draw(), IVNumberBoxControl::Draw(), TestAnimationControl::Draw(), TestCursorControl::Draw(), TestDirBrowseControl::Draw(), TestDragAndDropControl::Draw(), TestImageControl::Draw(), TestSVGControl::Draw(), IURLControl::Draw(), ICaptionControl::Draw(), IVButtonControl::DrawWidget(), IVSwitchControl::DrawWidget(), IVToggleControl::DrawWidget(), IVKnobControl::DrawWidget(), GetMouseIsOver(), OnMouseOut(), OnMouseOver(), SetRECT(), SetTargetAndDrawRECTs(), and SetTargetRECT().

+

Referenced by IVPanelControl::Draw(), ISVGButtonControl::Draw(), ISVGToggleControl::Draw(), IVNumberBoxControl::Draw(), TestAnimationControl::Draw(), TestCursorControl::Draw(), TestDirBrowseControl::Draw(), TestDragAndDropControl::Draw(), TestImageControl::Draw(), TestSVGControl::Draw(), IURLControl::Draw(), ICaptionControl::Draw(), IVButtonControl::DrawWidget(), IVSwitchControl::DrawWidget(), IVToggleControl::DrawWidget(), GetMouseIsOver(), OnMouseOut(), OnMouseOver(), SetRECT(), SetTargetAndDrawRECTs(), and SetTargetRECT().

diff --git a/class_i_graphics.html b/class_i_graphics.html index fe27b656..1504f935 100644 --- a/class_i_graphics.html +++ b/class_i_graphics.html @@ -2055,7 +2055,7 @@

References GetDrawScale(), APIBitmap::GetDrawScale(), APIBitmap::GetScale(), and GetScreenScale().

-

Referenced by IVPlotControl::Draw(), IWheelControl::Draw(), TestDropShadowControl::Draw(), GFXLabelControl::Draw(), TestKeyboardControl::Draw(), TestLayerControl::Draw(), TestMTControl::Draw(), TestSVGControl::Draw(), and ISVGControl::Draw().

+

Referenced by IVPlotControl::Draw(), IWheelControl::Draw(), TestDropShadowControl::Draw(), GFXLabelControl::Draw(), TestKeyboardControl::Draw(), TestLayerControl::Draw(), TestMTControl::Draw(), TestSVGControl::Draw(), and ISVGControl::Draw().

@@ -3227,7 +3227,7 @@

IGraphicsCanvas, IGraphicsNanoVG, and IGraphicsSkia.

-

Referenced by IBSliderControl::Draw(), IWheelControl::Draw(), DrawBitmap(), IBitmapBase::DrawBitmap(), DrawBitmapedText(), DrawFittedBitmap(), DrawFittedLayer(), DrawLayer(), DrawRotatedBitmap(), and ScaleBitmap().

+

Referenced by IBSliderControl::Draw(), IWheelControl::Draw(), DrawBitmap(), IBitmapBase::DrawBitmap(), DrawBitmapedText(), DrawFittedBitmap(), DrawFittedLayer(), DrawLayer(), DrawRotatedBitmap(), and ScaleBitmap().

@@ -3326,7 +3326,7 @@

References DrawBitmap(), IRECT::H(), and IRECT::W().

-

Referenced by IBTextControl::Draw().

+

Referenced by IBTextControl::Draw().

@@ -3577,7 +3577,7 @@

References IRECT::H(), PathClear(), PathFill(), PathLineTo(), PathMoveTo(), PathStroke(), and IRECT::W().

-

Referenced by IVPlotControl::Draw(), and IVScopeControl< MAXNC, MAXBUF >::DrawWidget().

+

Referenced by IVPlotControl::Draw(), and IVScopeControl< MAXNC, MAXBUF >::DrawWidget().

@@ -4151,7 +4151,7 @@

References PathClear(), PathLineTo(), PathMoveTo(), and PathStroke().

-

Referenced by IVPlotControl::Draw(), IWheelControl::Draw(), and IGraphicsLiveEdit::Draw().

+

Referenced by IVPlotControl::Draw(), IWheelControl::Draw(), and IGraphicsLiveEdit::Draw().

@@ -4327,7 +4327,7 @@

References DrawBitmap(), PathTransformReset(), PathTransformRestore(), and PathTransformSave().

-

Referenced by IVPlotControl::Draw(), TestBlendControl::Draw(), TestDropShadowControl::Draw(), GFXLabelControl::Draw(), TestKeyboardControl::Draw(), TestLayerControl::Draw(), TestMTControl::Draw(), TestShadowGradientControl::Draw(), TestSVGControl::Draw(), and ISVGControl::Draw().

+

Referenced by IVPlotControl::Draw(), TestBlendControl::Draw(), TestDropShadowControl::Draw(), GFXLabelControl::Draw(), TestKeyboardControl::Draw(), TestLayerControl::Draw(), TestMTControl::Draw(), TestShadowGradientControl::Draw(), TestSVGControl::Draw(), and ISVGControl::Draw().

@@ -4762,7 +4762,7 @@

References PathClear(), PathRect(), and PathStroke().

-

Referenced by IVLabelControl::Draw(), IVXYPadControl::Draw(), IVPlotControl::Draw(), IFPSDisplayControl::Draw(), IVDisplayControl::Draw(), IVKeyboardControl::Draw(), IWheelControl::Draw(), IVMeterControl< MAXNC >::Draw(), IVMultiSliderControl< MAXNC >::Draw(), IVScopeControl< MAXNC, MAXBUF >::Draw(), TestArcControl::Draw(), TestBezierControl::Draw(), TestBlendControl::Draw(), TestDirBrowseControl::Draw(), TestFlexBoxControl::Draw(), TestMTControl::Draw(), IPanelControl::Draw(), IVRangeSliderControl::DrawWidget(), and IVColorSwatchControl::DrawWidget().

+

Referenced by IVLabelControl::Draw(), IVXYPadControl::Draw(), IVPlotControl::Draw(), IFPSDisplayControl::Draw(), IVDisplayControl::Draw(), IVKeyboardControl::Draw(), IWheelControl::Draw(), IVMeterControl< MAXNC >::Draw(), IVMultiSliderControl< MAXNC >::Draw(), IVScopeControl< MAXNC, MAXBUF >::Draw(), TestArcControl::Draw(), TestBezierControl::Draw(), TestBlendControl::Draw(), TestDirBrowseControl::Draw(), TestFlexBoxControl::Draw(), TestMTControl::Draw(), IPanelControl::Draw(), IVRangeSliderControl::DrawWidget(), and IVColorSwatchControl::DrawWidget().

@@ -4834,7 +4834,7 @@

References DrawBitmap(), IBitmap::GetDrawScale(), IBitmap::H(), PathTransformRestore(), PathTransformRotate(), PathTransformSave(), PathTransformTranslate(), and IBitmap::W().

-

Referenced by IBKnobRotaterControl::Draw(), and DrawRotatedLayer().

+

Referenced by IBKnobRotaterControl::Draw(), and DrawRotatedLayer().

@@ -4961,7 +4961,7 @@

References DrawSVG(), PathTransformRestore(), PathTransformRotate(), PathTransformSave(), and PathTransformTranslate().

-

Referenced by ISVGKnobControl::Draw().

+

Referenced by ISVGKnobControl::Draw().

@@ -5196,7 +5196,7 @@

References ISVG::H(), IRECT::H(), PathTransformRestore(), PathTransformSave(), PathTransformScale(), PathTransformTranslate(), ISVG::W(), and IRECT::W().

-

Referenced by ISVGButtonControl::Draw(), ISVGToggleControl::Draw(), ISVGSwitchControl::Draw(), ISVGSliderControl::Draw(), TestDropShadowControl::Draw(), TestSVGControl::Draw(), ISVGControl::Draw(), and DrawRotatedSVG().

+

Referenced by ISVGButtonControl::Draw(), ISVGToggleControl::Draw(), ISVGSwitchControl::Draw(), ISVGSliderControl::Draw(), TestDropShadowControl::Draw(), TestSVGControl::Draw(), ISVGControl::Draw(), and DrawRotatedSVG().

@@ -5253,7 +5253,7 @@

References DoDrawText().

-

Referenced by IVLabelControl::Draw(), IFPSDisplayControl::Draw(), ITextEntryControl::Draw(), IVKeyboardControl::Draw(), TestAnimationControl::Draw(), TestBlendControl::Draw(), TestColorControl::Draw(), TestCursorControl::Draw(), TestCustomShaderControl::Draw(), TestDirBrowseControl::Draw(), TestDragAndDropControl::Draw(), TestDrawContextControl::Draw(), TestFlexBoxControl::Draw(), TestFontControl::Draw(), TestGesturesControl::Draw(), GFXLabelControl::Draw(), TestImageControl::Draw(), TestKeyboardControl::Draw(), TestLayerControl::Draw(), TestMPSControl::Draw(), TestMTControl::Draw(), TestSizeControl::Draw(), TestTextControl::Draw(), TestTextOrientationControl::Draw(), TestTextSizeControl::Draw(), ITextControl::Draw(), IURLControl::Draw(), PlaceHolder::Draw(), IPopupMenuControl::DrawCellText(), IVectorBase::DrawLabel(), IGraphicsSkia::DrawMultiLineText(), DrawMultiLineText(), DrawText(), IVectorBase::DrawValue(), IVToggleControl::DrawValue(), IVRadioButtonControl::DrawWidget(), and IVColorSwatchControl::DrawWidget().

+

Referenced by IVLabelControl::Draw(), IFPSDisplayControl::Draw(), ITextEntryControl::Draw(), IVKeyboardControl::Draw(), TestAnimationControl::Draw(), TestBlendControl::Draw(), TestColorControl::Draw(), TestCursorControl::Draw(), TestCustomShaderControl::Draw(), TestDirBrowseControl::Draw(), TestDragAndDropControl::Draw(), TestDrawContextControl::Draw(), TestFlexBoxControl::Draw(), TestFontControl::Draw(), TestGesturesControl::Draw(), GFXLabelControl::Draw(), TestImageControl::Draw(), TestKeyboardControl::Draw(), TestLayerControl::Draw(), TestMPSControl::Draw(), TestMTControl::Draw(), TestSizeControl::Draw(), TestTextControl::Draw(), TestTextOrientationControl::Draw(), TestTextSizeControl::Draw(), ITextControl::Draw(), IURLControl::Draw(), PlaceHolder::Draw(), IPopupMenuControl::DrawCellText(), IVectorBase::DrawLabel(), IGraphicsSkia::DrawMultiLineText(), DrawMultiLineText(), DrawText(), IVectorBase::DrawValue(), IVToggleControl::DrawValue(), IVRadioButtonControl::DrawWidget(), and IVColorSwatchControl::DrawWidget().

@@ -5732,7 +5732,7 @@

References PopLayer().

-

Referenced by IVPlotControl::Draw(), IWheelControl::Draw(), TestBlendControl::Draw(), TestDropShadowControl::Draw(), GFXLabelControl::Draw(), TestKeyboardControl::Draw(), TestLayerControl::Draw(), TestMTControl::Draw(), TestShadowGradientControl::Draw(), TestSVGControl::Draw(), ISVGControl::Draw(), and ScaleBitmap().

+

Referenced by IVPlotControl::Draw(), IWheelControl::Draw(), TestBlendControl::Draw(), TestDropShadowControl::Draw(), GFXLabelControl::Draw(), TestKeyboardControl::Draw(), TestLayerControl::Draw(), TestMTControl::Draw(), TestShadowGradientControl::Draw(), TestSVGControl::Draw(), ISVGControl::Draw(), and ScaleBitmap().

@@ -6162,7 +6162,7 @@

References PathClear(), PathFill(), and PathRect().

-

Referenced by IFPSDisplayControl::Draw(), ITextEntryControl::Draw(), IVKeyboardControl::Draw(), IVNumberBoxControl::Draw(), ISkParagraphControl::Draw(), TestAnimationControl::Draw(), TestArcControl::Draw(), TestBezierControl::Draw(), TestBlendControl::Draw(), TestCursorControl::Draw(), TestDirBrowseControl::Draw(), TestDragAndDropControl::Draw(), TestFlexBoxControl::Draw(), TestFontControl::Draw(), GFXLabelControl::Draw(), TestImageControl::Draw(), TestKeyboardControl::Draw(), TestMaskControl::Draw(), TestShadowGradientControl::Draw(), TestSVGControl::Draw(), TestTextControl::Draw(), TestTextOrientationControl::Draw(), TestTextSizeControl::Draw(), ITextControl::Draw(), IMultiLineTextControl::Draw(), IURLControl::Draw(), PlaceHolder::Draw(), IVTrackControlBase::DrawBackground(), IVectorBase::DrawBackground(), IPopupMenuControl::DrawCellBackground(), DrawPoint(), IPopupMenuControl::DrawSeparator(), IVTrackControlBase::DrawTrackHandle(), IVectorBase::DrawValue(), IVToggleControl::DrawValue(), IVRangeSliderControl::DrawWidget(), and IVColorSwatchControl::DrawWidget().

+

Referenced by IFPSDisplayControl::Draw(), ITextEntryControl::Draw(), IVKeyboardControl::Draw(), IVNumberBoxControl::Draw(), ISkParagraphControl::Draw(), TestAnimationControl::Draw(), TestArcControl::Draw(), TestBezierControl::Draw(), TestBlendControl::Draw(), TestCursorControl::Draw(), TestDirBrowseControl::Draw(), TestDragAndDropControl::Draw(), TestFlexBoxControl::Draw(), TestFontControl::Draw(), GFXLabelControl::Draw(), TestImageControl::Draw(), TestKeyboardControl::Draw(), TestMaskControl::Draw(), TestShadowGradientControl::Draw(), TestSVGControl::Draw(), TestTextControl::Draw(), TestTextOrientationControl::Draw(), TestTextSizeControl::Draw(), ITextControl::Draw(), IMultiLineTextControl::Draw(), IURLControl::Draw(), PlaceHolder::Draw(), IVTrackControlBase::DrawBackground(), IVectorBase::DrawBackground(), IPopupMenuControl::DrawCellBackground(), DrawPoint(), IPopupMenuControl::DrawSeparator(), IVTrackControlBase::DrawTrackHandle(), IVectorBase::DrawValue(), IVToggleControl::DrawValue(), IVRangeSliderControl::DrawWidget(), and IVColorSwatchControl::DrawWidget().

@@ -6582,7 +6582,7 @@

References GetControl(), IControl::GetGroup(), and NControls().

-

Referenced by IVGroupControl::SetBoundsBasedOnGroup().

+

Referenced by IVGroupControl::SetBoundsBasedOnGroup().

@@ -7932,7 +7932,7 @@

References IBitmap::GetFramesAreHorizontal(), IBitmap::GetResourceName(), GetRoundedScreenScale(), LoadBitmap(), and IBitmap::N().

-

Referenced by IBButtonControl::OnRescale(), IBSwitchControl::OnRescale(), IBKnobControl::OnRescale(), IBSliderControl::OnRescale(), IBTextControl::OnRescale(), IBMeterControl::OnRescale(), and IBitmapControl::OnRescale().

+

Referenced by IBButtonControl::OnRescale(), IBSwitchControl::OnRescale(), IBKnobControl::OnRescale(), IBSliderControl::OnRescale(), IBTextControl::OnRescale(), IBMeterControl::OnRescale(), and IBitmapControl::OnRescale().

@@ -8369,7 +8369,7 @@

Referenced by IVXYPadControl::OnMouseDown(), IVNumberBoxControl::OnMouseDown(), TestArcControl::OnMouseDown(), TestPolyControl::OnMouseDown(), IKnobControlBase::OnMouseDown(), ISliderControlBase::OnMouseDown(), IVXYPadControl::OnMouseUp(), IVNumberBoxControl::OnMouseUp(), TestArcControl::OnMouseUp(), TestPolyControl::OnMouseUp(), IKnobControlBase::OnMouseUp(), ISliderControlBase::OnMouseUp(), and ReleaseMouseCapture().

+

Referenced by IVXYPadControl::OnMouseDown(), IVNumberBoxControl::OnMouseDown(), TestArcControl::OnMouseDown(), TestPolyControl::OnMouseDown(), IKnobControlBase::OnMouseDown(), ISliderControlBase::OnMouseDown(), IVXYPadControl::OnMouseUp(), IVNumberBoxControl::OnMouseUp(), TestArcControl::OnMouseUp(), TestPolyControl::OnMouseUp(), IKnobControlBase::OnMouseUp(), ISliderControlBase::OnMouseUp(), and ReleaseMouseCapture().

@@ -10417,7 +10417,7 @@

IGraphicsCanvas, IGraphicsNanoVG, and IGraphicsSkia.

-

Referenced by TestMultiPathControl::Draw(), DrawArc(), IVGroupControl::DrawWidget(), FillArc(), PathCircle(), and PathRoundRect().

+

Referenced by TestMultiPathControl::Draw(), DrawArc(), IVGroupControl::DrawWidget(), FillArc(), PathCircle(), and PathRoundRect().

@@ -10498,7 +10498,7 @@

IGraphicsCanvas, IGraphicsNanoVG, and IGraphicsSkia.

-

Referenced by DrawArc(), DrawCircle(), DrawConvexPolygon(), DrawData(), DrawDottedLine(), DrawDottedRect(), DrawEllipse(), DrawGrid(), DrawLine(), DrawRect(), DrawRoundRect(), DrawTriangle(), IVGroupControl::DrawWidget(), FillArc(), FillCircle(), FillConvexPolygon(), FillEllipse(), FillRect(), FillRoundRect(), FillTriangle(), PopLayer(), and PushLayer().

+

Referenced by DrawArc(), DrawCircle(), DrawConvexPolygon(), DrawData(), DrawDottedLine(), DrawDottedRect(), DrawEllipse(), DrawGrid(), DrawLine(), DrawRect(), DrawRoundRect(), DrawTriangle(), IVGroupControl::DrawWidget(), FillArc(), FillCircle(), FillConvexPolygon(), FillEllipse(), FillRect(), FillRoundRect(), FillTriangle(), PopLayer(), and PushLayer().

@@ -10952,7 +10952,7 @@

IGraphicsCanvas, IGraphicsNanoVG, and IGraphicsSkia.

-

Referenced by IFPSDisplayControl::Draw(), TestMultiPathControl::Draw(), DrawData(), DrawDottedLine(), DrawGrid(), DrawLine(), IVGroupControl::DrawWidget(), IVDisplayControl::DrawWidget(), PathConvexPolygon(), PathLine(), PathRect(), and PathTriangle().

+

Referenced by IFPSDisplayControl::Draw(), TestMultiPathControl::Draw(), DrawData(), DrawDottedLine(), DrawGrid(), DrawLine(), IVGroupControl::DrawWidget(), IVDisplayControl::DrawWidget(), PathConvexPolygon(), PathLine(), PathRect(), and PathTriangle().

@@ -11001,7 +11001,7 @@

IGraphicsCanvas, IGraphicsNanoVG, and IGraphicsSkia.

-

Referenced by IFPSDisplayControl::Draw(), TestBezierControl::Draw(), TestMultiPathControl::Draw(), DrawData(), DrawDottedLine(), DrawGrid(), DrawLine(), IVGroupControl::DrawWidget(), IVDisplayControl::DrawWidget(), FillArc(), PathCircle(), PathConvexPolygon(), PathLine(), PathRect(), PathRoundRect(), and PathTriangle().

+

Referenced by IFPSDisplayControl::Draw(), TestBezierControl::Draw(), TestMultiPathControl::Draw(), DrawData(), DrawDottedLine(), DrawGrid(), DrawLine(), IVGroupControl::DrawWidget(), IVDisplayControl::DrawWidget(), FillArc(), PathCircle(), PathConvexPolygon(), PathLine(), PathRect(), PathRoundRect(), and PathTriangle().

@@ -11364,7 +11364,7 @@

IGraphicsCanvas, IGraphicsNanoVG, and IGraphicsSkia.

-

Referenced by TestBezierControl::Draw(), TestGradientControl::Draw(), TestMultiPathControl::Draw(), DrawArc(), DrawCircle(), DrawConvexPolygon(), DrawData(), DrawDottedLine(), DrawDottedRect(), DrawEllipse(), DrawGrid(), DrawLine(), DrawRect(), DrawRoundRect(), DrawTriangle(), IVGroupControl::DrawWidget(), and IVDisplayControl::DrawWidget().

+

Referenced by TestBezierControl::Draw(), TestGradientControl::Draw(), TestMultiPathControl::Draw(), DrawArc(), DrawCircle(), DrawConvexPolygon(), DrawData(), DrawDottedLine(), DrawDottedRect(), DrawEllipse(), DrawGrid(), DrawLine(), DrawRect(), DrawRoundRect(), DrawTriangle(), IVGroupControl::DrawWidget(), and IVDisplayControl::DrawWidget().

@@ -11961,7 +11961,7 @@

Returns
/c true if prompt completed successfully
-

Referenced by IVColorSwatchControl::OnMouseDown().

+

Referenced by IVColorSwatchControl::OnMouseDown().

@@ -14090,7 +14090,7 @@

References CreateAPIBitmap(), GetBackingPixelScale(), GetDrawScale(), IRECT::GetPixelAligned(), IControl::GetRECT(), GetScreenScale(), IRECT::H(), PushLayer(), and IRECT::W().

-

Referenced by IVPlotControl::Draw(), IWheelControl::Draw(), TestBlendControl::Draw(), TestDropShadowControl::Draw(), GFXLabelControl::Draw(), TestKeyboardControl::Draw(), TestLayerControl::Draw(), TestMaskControl::Draw(), TestMTControl::Draw(), TestShadowGradientControl::Draw(), TestSVGControl::Draw(), ISVGControl::Draw(), and ScaleBitmap().

+

Referenced by IVPlotControl::Draw(), IWheelControl::Draw(), TestBlendControl::Draw(), TestDropShadowControl::Draw(), GFXLabelControl::Draw(), TestKeyboardControl::Draw(), TestLayerControl::Draw(), TestMaskControl::Draw(), TestMTControl::Draw(), TestShadowGradientControl::Draw(), TestSVGControl::Draw(), ISVGControl::Draw(), and ScaleBitmap().

diff --git a/class_i_knob_control_base.html b/class_i_knob_control_base.html index 2232b7da..de35548b 100644 --- a/class_i_knob_control_base.html +++ b/class_i_knob_control_base.html @@ -677,7 +677,7 @@

References IControl::GetUI(), IControl::GetValue(), IGraphics::HideMouseCursor(), and IControl::OnMouseDown().

-

Referenced by IVKnobControl::OnMouseDown(), TestArcControl::OnMouseDown(), and TestPolyControl::OnMouseDown().

+

Referenced by IVKnobControl::OnMouseDown(), TestArcControl::OnMouseDown(), and TestPolyControl::OnMouseDown().

@@ -811,7 +811,7 @@

References IControl::GetUI(), IGraphics::HideMouseCursor(), and IControl::SetDirty().

-

Referenced by IVKnobControl::OnMouseUp(), TestArcControl::OnMouseUp(), and TestPolyControl::OnMouseUp().

+

Referenced by IVKnobControl::OnMouseUp(), TestArcControl::OnMouseUp(), and TestPolyControl::OnMouseUp().

diff --git a/class_i_param.html b/class_i_param.html index 6b3a1a9e..bb12d31d 100644 --- a/class_i_param.html +++ b/class_i_param.html @@ -1116,7 +1116,7 @@

References GetDisplay(), and GetLabel().

-

Referenced by IVMenuButtonControl::IVMenuButtonControl(), IVSwitchControl::OnInit(), IVKnobControl::OnInit(), IVSliderControl::OnInit(), IVKnobControl::SetDirty(), IVSliderControl::SetDirty(), IVMenuButtonControl::SetValueFromDelegate(), IVMenuButtonControl::SetValueFromUserInput(), ShowBubbleHorizontalActionFunc(), and ShowBubbleVerticalActionFunc().

+

Referenced by IVMenuButtonControl::IVMenuButtonControl(), IVSwitchControl::OnInit(), IVKnobControl::OnInit(), IVSliderControl::OnInit(), IVKnobControl::SetDirty(), IVSliderControl::SetDirty(), IVMenuButtonControl::SetValueFromDelegate(), IVMenuButtonControl::SetValueFromUserInput(), ShowBubbleHorizontalActionFunc(), and ShowBubbleVerticalActionFunc().

@@ -1355,7 +1355,7 @@

Definition at line 307 of file IPlugParameter.cpp.

-

Referenced by GetJSON(), IVSwitchControl::OnInit(), IVTabSwitchControl::OnInit(), IVKnobControl::OnInit(), IVSliderControl::OnInit(), PrintDetails(), IGraphics::PromptUserInput(), IPluginBase::SerializeParams(), and IPluginBase::UnserializeParams().

+

Referenced by GetJSON(), IVSwitchControl::OnInit(), IVTabSwitchControl::OnInit(), IVKnobControl::OnInit(), IVSliderControl::OnInit(), PrintDetails(), IGraphics::PromptUserInput(), IPluginBase::SerializeParams(), and IPluginBase::UnserializeParams().

diff --git a/class_i_s_v_g_button_control.html b/class_i_s_v_g_button_control.html index ce654af2..a77fa3ac 100644 --- a/class_i_s_v_g_button_control.html +++ b/class_i_s_v_g_button_control.html @@ -497,7 +497,7 @@

Detailed Description

A vector button/momentary switch control which shows an SVG image.

-

Definition at line 568 of file IControls.h.

+

Definition at line 585 of file IControls.h.

Constructor & Destructor Documentation

◆ ISVGButtonControl() [1/2]

@@ -554,7 +554,7 @@

Definition at line 1423 of file IControls.cpp.

+

Definition at line 1428 of file IControls.cpp.

@@ -621,7 +621,7 @@

Definition at line 1431 of file IControls.cpp.

+

Definition at line 1436 of file IControls.cpp.

@@ -660,7 +660,7 @@

IControl.

-

Definition at line 1440 of file IControls.cpp.

+

Definition at line 1445 of file IControls.cpp.

References IGraphics::DrawSVG(), IControl::GetValue(), and IControl::mMouseIsOver.

@@ -687,7 +687,7 @@

-

Definition at line 592 of file IControls.h.

+

Definition at line 609 of file IControls.h.

@@ -711,7 +711,7 @@

-

Definition at line 591 of file IControls.h.

+

Definition at line 608 of file IControls.h.

@@ -735,7 +735,7 @@

-

Definition at line 589 of file IControls.h.

+

Definition at line 606 of file IControls.h.

@@ -759,7 +759,7 @@

-

Definition at line 590 of file IControls.h.

+

Definition at line 607 of file IControls.h.

diff --git a/class_i_s_v_g_knob_control.html b/class_i_s_v_g_knob_control.html index 0df9d388..21a95ee2 100644 --- a/class_i_s_v_g_knob_control.html +++ b/class_i_s_v_g_knob_control.html @@ -509,7 +509,7 @@

Detailed Description

A vector knob/dial control which rotates an SVG image.

-

Definition at line 553 of file IControls.h.

+

Definition at line 570 of file IControls.h.

Constructor & Destructor Documentation

◆ ISVGKnobControl()

@@ -543,7 +543,7 @@

-

Definition at line 1525 of file IControls.cpp.

+

Definition at line 1530 of file IControls.cpp.

@@ -582,7 +582,7 @@

IControl.

-

Definition at line 1531 of file IControls.cpp.

+

Definition at line 1536 of file IControls.cpp.

References IGraphics::DrawRotatedSVG(), IControl::GetValue(), IRECT::H(), IRECT::MH(), IRECT::MW(), and IRECT::W().

@@ -604,7 +604,7 @@

-

Definition at line 1536 of file IControls.cpp.

+

Definition at line 1541 of file IControls.cpp.

diff --git a/class_i_s_v_g_slider_control.html b/class_i_s_v_g_slider_control.html index 64969631..b3fa3783 100644 --- a/class_i_s_v_g_slider_control.html +++ b/class_i_s_v_g_slider_control.html @@ -531,7 +531,7 @@

Detailed Description

A Slider control with and SVG for track and handle.

-

Definition at line 656 of file IControls.h.

+

Definition at line 673 of file IControls.h.

Constructor & Destructor Documentation

◆ ISVGSliderControl()

@@ -597,7 +597,7 @@

Todo:
-

Definition at line 1553 of file IControls.cpp.

+

Definition at line 1558 of file IControls.cpp.

@@ -636,7 +636,7 @@

IControl.

-

Definition at line 1560 of file IControls.cpp.

+

Definition at line 1565 of file IControls.cpp.

References IGraphics::DrawSVG(), and IControl::GetValue().

@@ -666,7 +666,7 @@

-

Definition at line 1595 of file IControls.cpp.

+

Definition at line 1600 of file IControls.cpp.

@@ -698,7 +698,7 @@

IControl.

-

Definition at line 1566 of file IControls.cpp.

+

Definition at line 1571 of file IControls.cpp.

References IRECT::GetCentredInside(), IRECT::GetPadded(), ISVG::H(), IRECT::H(), IRECT::MH(), IControl::SetDirty(), ISVG::W(), and IRECT::W().

@@ -725,7 +725,7 @@

-

Definition at line 675 of file IControls.h.

+

Definition at line 692 of file IControls.h.

@@ -749,7 +749,7 @@

-

Definition at line 676 of file IControls.h.

+

Definition at line 693 of file IControls.h.

@@ -773,7 +773,7 @@

-

Definition at line 677 of file IControls.h.

+

Definition at line 694 of file IControls.h.

@@ -797,7 +797,7 @@

-

Definition at line 674 of file IControls.h.

+

Definition at line 691 of file IControls.h.

diff --git a/class_i_s_v_g_switch_control.html b/class_i_s_v_g_switch_control.html index 78ff02e5..e67b1d44 100644 --- a/class_i_s_v_g_switch_control.html +++ b/class_i_s_v_g_switch_control.html @@ -508,7 +508,7 @@

A vector switch control which shows one of multiple SVG states.

Click to cycle through states.

-

Definition at line 639 of file IControls.h.

+

Definition at line 656 of file IControls.h.

Constructor & Destructor Documentation

◆ ISVGSwitchControl()

@@ -560,7 +560,7 @@

See also
IActionFunction
-

Definition at line 1542 of file IControls.cpp.

+

Definition at line 1547 of file IControls.cpp.

@@ -599,7 +599,7 @@

IControl.

-

Definition at line 1548 of file IControls.cpp.

+

Definition at line 1553 of file IControls.cpp.

References IGraphics::DrawSVG().

@@ -626,7 +626,7 @@

-

Definition at line 652 of file IControls.h.

+

Definition at line 669 of file IControls.h.

diff --git a/class_i_s_v_g_toggle_control.html b/class_i_s_v_g_toggle_control.html index 96968919..2ced248d 100644 --- a/class_i_s_v_g_toggle_control.html +++ b/class_i_s_v_g_toggle_control.html @@ -522,7 +522,7 @@

Detailed Description

A vector toggle switch control which shows an SVG image.

-

Definition at line 596 of file IControls.h.

+

Definition at line 613 of file IControls.h.

Constructor & Destructor Documentation

◆ ISVGToggleControl() [1/4]

@@ -579,7 +579,7 @@

Definition at line 1467 of file IControls.cpp.

+

Definition at line 1472 of file IControls.cpp.

@@ -632,7 +632,7 @@

Definition at line 1474 of file IControls.cpp.

+

Definition at line 1479 of file IControls.cpp.

@@ -698,7 +698,7 @@

Definition at line 1481 of file IControls.cpp.

+

Definition at line 1486 of file IControls.cpp.

@@ -758,7 +758,7 @@

Definition at line 1490 of file IControls.cpp.

+

Definition at line 1495 of file IControls.cpp.

@@ -797,7 +797,7 @@

IControl.

-

Definition at line 1499 of file IControls.cpp.

+

Definition at line 1504 of file IControls.cpp.

References IGraphics::DrawSVG(), IControl::GetValue(), and IControl::mMouseIsOver.

@@ -824,7 +824,7 @@

-

Definition at line 635 of file IControls.h.

+

Definition at line 652 of file IControls.h.

@@ -848,7 +848,7 @@

-

Definition at line 634 of file IControls.h.

+

Definition at line 651 of file IControls.h.

@@ -872,7 +872,7 @@

-

Definition at line 632 of file IControls.h.

+

Definition at line 649 of file IControls.h.

@@ -896,7 +896,7 @@

-

Definition at line 633 of file IControls.h.

+

Definition at line 650 of file IControls.h.

diff --git a/class_i_slider_control_base.html b/class_i_slider_control_base.html index ebbf5bba..c5fcd60b 100644 --- a/class_i_slider_control_base.html +++ b/class_i_slider_control_base.html @@ -694,7 +694,7 @@

References IControl::GetParam(), IControl::GetUI(), IControl::GetValue(), IGraphics::HideMouseCursor(), IControl::OnMouseDown(), and IControl::SnapToMouse().

-

Referenced by IVSliderControl::OnMouseDown(), and IWheelControl::OnMouseDown().

+

Referenced by IVSliderControl::OnMouseDown(), and IWheelControl::OnMouseDown().

@@ -826,7 +826,7 @@

References IControl::GetUI(), IGraphics::HideMouseCursor(), and IControl::SetDirty().

-

Referenced by IVSliderControl::OnMouseUp(), and IWheelControl::OnMouseUp().

+

Referenced by IVSliderControl::OnMouseUp(), and IWheelControl::OnMouseUp().

diff --git a/class_i_v_color_swatch_control.html b/class_i_v_color_swatch_control.html index b1f49c48..e4bdc03a 100644 --- a/class_i_v_color_swatch_control.html +++ b/class_i_v_color_swatch_control.html @@ -629,7 +629,7 @@

Detailed Description

A control to show a color swatch of up to 9 colors.

-

Definition at line 519 of file IControls.h.

+

Definition at line 536 of file IControls.h.

Member Typedef Documentation

◆ ColorChosenFunc

@@ -643,7 +643,7 @@

-

Definition at line 525 of file IControls.h.

+

Definition at line 542 of file IControls.h.

@@ -668,7 +668,7 @@

-

Definition at line 523 of file IControls.h.

+

Definition at line 540 of file IControls.h.

@@ -729,7 +729,7 @@

-

Definition at line 1302 of file IControls.cpp.

+

Definition at line 1307 of file IControls.cpp.

@@ -756,7 +756,7 @@

-

Definition at line 531 of file IControls.h.

+

Definition at line 548 of file IControls.h.

@@ -795,9 +795,9 @@

IControl.

-

Definition at line 1322 of file IControls.cpp.

+

Definition at line 1327 of file IControls.cpp.

-

References IVectorBase::DrawLabel(), and DrawWidget().

+

References IVectorBase::DrawLabel(), and DrawWidget().

@@ -829,11 +829,11 @@

IVectorBase.

-

Definition at line 1328 of file IControls.cpp.

+

Definition at line 1333 of file IControls.cpp.

References IGraphics::DrawRect(), IGraphics::DrawText(), IGraphics::FillRect(), IRECT::FracRectHorizontal(), IVectorBase::GetColor(), and IRECT::GetPadded().

-

Referenced by Draw().

+

Referenced by Draw().

@@ -889,7 +889,7 @@

IControl.

-

Definition at line 1396 of file IControls.cpp.

+

Definition at line 1401 of file IControls.cpp.

References IVectorBase::GetColor(), IControl::GetUI(), IGraphics::PromptForColor(), and IVectorBase::SetColor().

@@ -923,7 +923,7 @@

IControl.

-

Definition at line 1390 of file IControls.cpp.

+

Definition at line 1395 of file IControls.cpp.

References IControl::SetDirty().

@@ -981,7 +981,7 @@

IControl.

-

Definition at line 1374 of file IControls.cpp.

+

Definition at line 1379 of file IControls.cpp.

References IControl::SetDirty().

@@ -1015,7 +1015,7 @@

IControl.

-

Definition at line 1343 of file IControls.cpp.

+

Definition at line 1348 of file IControls.cpp.

References IRECT::GetGridCell(), IRECT::GetPadded(), IVectorBase::MakeRects(), IControl::SetDirty(), and IControl::SetTargetRECT().

diff --git a/class_i_v_group_control.html b/class_i_v_group_control.html index 819df4e0..437a36a1 100644 --- a/class_i_v_group_control.html +++ b/class_i_v_group_control.html @@ -687,7 +687,7 @@

Detailed Description

A control to draw a rectangle around a named IControl group.

-

Definition at line 431 of file IControls.h.

+

Definition at line 448 of file IControls.h.

Constructor & Destructor Documentation

◆ IVGroupControl() [1/2]

@@ -758,7 +758,7 @@

Definition at line 1213 of file IControls.cpp.

+

Definition at line 1218 of file IControls.cpp.

References IVectorBase::AttachIControl().

@@ -835,7 +835,7 @@

See also
IVStyle
-

Definition at line 1222 of file IControls.cpp.

+

Definition at line 1227 of file IControls.cpp.

References IVectorBase::AttachIControl().

@@ -876,9 +876,9 @@

IContainerBase.

-

Definition at line 1243 of file IControls.cpp.

+

Definition at line 1248 of file IControls.cpp.

-

References IVectorBase::DrawLabel(), and DrawWidget().

+

References IVectorBase::DrawLabel(), and DrawWidget().

@@ -910,11 +910,11 @@

IVectorBase.

-

Definition at line 1252 of file IControls.cpp.

+

Definition at line 1257 of file IControls.cpp.

References IRECT::Empty(), IVectorBase::GetColor(), IRECT::GetPadded(), IVectorBase::GetRoundedCornerRadius(), IRECT::MW(), IGraphics::PathArc(), IGraphics::PathClear(), IGraphics::PathLineTo(), IGraphics::PathMoveTo(), and IGraphics::PathStroke().

-

Referenced by Draw().

+

Referenced by Draw().

@@ -945,9 +945,9 @@

IControl.

-

Definition at line 1235 of file IControls.cpp.

+

Definition at line 1240 of file IControls.cpp.

-

References SetBoundsBasedOnGroup().

+

References SetBoundsBasedOnGroup().

@@ -979,11 +979,11 @@

IContainerBase.

-

Definition at line 1279 of file IControls.cpp.

+

Definition at line 1284 of file IControls.cpp.

References IVectorBase::GetRoundedCornerRadius(), IRECT::H(), IRECT::HPad(), IVectorBase::MakeRects(), IRECT::Offset(), IControl::SetDirty(), IControl::SetTargetRECT(), and IRECT::Translate().

-

Referenced by SetBoundsBasedOnGroup().

+

Referenced by SetBoundsBasedOnGroup().

@@ -1043,11 +1043,11 @@

Definition at line 1289 of file IControls.cpp.

+

Definition at line 1294 of file IControls.cpp.

-

References IGraphics::ForControlInGroup(), IRECT::GetPadded(), IControl::GetUI(), IRECT::GetVPadded(), IRECT::H(), and OnResize().

+

References IGraphics::ForControlInGroup(), IRECT::GetPadded(), IControl::GetUI(), IRECT::GetVPadded(), IRECT::H(), and OnResize().

-

Referenced by OnInit().

+

Referenced by OnInit().

@@ -1072,7 +1072,7 @@

-

Definition at line 468 of file IControls.h.

+

Definition at line 485 of file IControls.h.

@@ -1096,7 +1096,7 @@

-

Definition at line 473 of file IControls.h.

+

Definition at line 490 of file IControls.h.

@@ -1120,7 +1120,7 @@

-

Definition at line 474 of file IControls.h.

+

Definition at line 491 of file IControls.h.

@@ -1144,7 +1144,7 @@

-

Definition at line 472 of file IControls.h.

+

Definition at line 489 of file IControls.h.

@@ -1168,7 +1168,7 @@

-

Definition at line 469 of file IControls.h.

+

Definition at line 486 of file IControls.h.

@@ -1192,7 +1192,7 @@

-

Definition at line 471 of file IControls.h.

+

Definition at line 488 of file IControls.h.

@@ -1216,7 +1216,7 @@

-

Definition at line 470 of file IControls.h.

+

Definition at line 487 of file IControls.h.

diff --git a/class_i_v_knob_control-members.html b/class_i_v_knob_control-members.html index 41fa2d03..913e6cae 100644 --- a/class_i_v_knob_control-members.html +++ b/class_i_v_knob_control-members.html @@ -92,213 +92,214 @@

DisablePrompt(bool disable)IControlinline
Draw(IGraphics &g) overrideIVKnobControlvirtual
DrawBackground(IGraphics &g, const IRECT &rect)IVectorBaseinlinevirtual
DrawIndicatorTrack(IGraphics &g, float angle, float cx, float cy, float radius) (defined in IVKnobControl)IVKnobControlvirtual
DrawLabel(IGraphics &g)IVectorBaseinlinevirtual
DrawPointer(IGraphics &g, float angle, float cx, float cy, float radius) (defined in IVKnobControl)IVKnobControlvirtual
DrawPressableEllipse(IGraphics &g, const IRECT &bounds, bool pressed, bool mouseOver, bool disabled)IVectorBaseinline
DrawPressableRectangle(IGraphics &g, const IRECT &bounds, bool pressed, bool mouseOver, bool disabled, bool rtl=true, bool rtr=true, bool rbl=true, bool rbr=true)IVectorBaseinline
DrawPressableShape(IGraphics &g, EVShape shape, const IRECT &bounds, bool pressed, bool mouseOver, bool disabled)IVectorBaseinlinevirtual
DrawPressableTriangle(IGraphics &g, const IRECT &bounds, bool pressed, bool mouseOver, float angle, bool disabled)IVectorBaseinline
DrawPTHighlight(IGraphics &g)IControlvirtual
DrawSplash(IGraphics &g, const IRECT &clipRegion=IRECT())IVectorBaseinline
DrawValue(IGraphics &g, bool mouseOver)IVectorBaseinlinevirtual
DrawWidget(IGraphics &g) overrideIVKnobControlvirtual
ForValIdx(int valIdx, T func, Args... args)IControlinlineprotected
GetActionFunction()IControlinline
GetAdjustedHandleBounds(IRECT handleBounds) constIVectorBaseinline
GetAnimationDuration() constIControlinline
GetAnimationFunction()IControlinline
GetAnimationProgress() constIControl
GetBlend() constIControlinline
GetColor(EVColor color) constIVectorBaseinline
GetDelegate()IControlinline
GetGroup() constIControlinline
GetIgnoreMouse() constIControlinline
GetKnobDragBounds() overrideIVKnobControlprotectedvirtual
GetLabelBounds() const (defined in IVectorBase)IVectorBaseinline
GetLabelStr() const (defined in IVectorBase)IVectorBaseinline
GetLastGesture() constIControlinline
GetMouseDblAsSingleClick() constIControlinline
GetMouseEventsWhenDisabled() constIControlinline
GetMouseIsOver() constIControlinline
GetMouseOverWhenDisabled() constIControlinline
GetParam(int valIdx=0) constIControl
GetParamIdx(int valIdx=0) constIControl
GetParent() constIControlinline
GetPromptShowsParamLabel() constIControlinline
GetRadius() const (defined in IVKnobControl)IVKnobControl
GetRECT() constIControlinline
GetRoundedCornerRadius(const IRECT &bounds) constIVectorBaseinline
GetStyle() constIVectorBaseinline
GetTag() constIControlinline
GetTargetRECT() constIControlinline
GetText() constIControlinline
GetTextEntryLength() constIControlinline
GetTooltip() constIControlinline
GetTrackBounds() const (defined in IVKnobControl)IVKnobControl
GetUI()IControlinline
GetUI() constIControlinline
GetValIdxForPos(float x, float y) constIControlinlinevirtual
GetValue(int valIdx=0) constIControl
GetValueBounds() const (defined in IVectorBase)IVectorBaseinline
GetWantsGestures() constIControlinlinevirtual
GetWantsMidi() constIControlinline
GetWantsMultiTouch() constIControlinline
GetWidgetBounds() const (defined in IVectorBase)IVectorBaseinline
Hide(bool hide)IControlvirtual
IControl(const IRECT &bounds, int paramIdx=kNoParameter, IActionFunction actionFunc=nullptr)IControl
IControl(const IRECT &bounds, const std::initializer_list< int > &params, IActionFunction actionFunc=nullptr)IControl
IControl(const IRECT &bounds, IActionFunction actionFunc)IControl
IControl(const IControl &)=delete (defined in IControl)IControl
IKnobControlBase(const IRECT &bounds, int paramIdx=kNoParameter, EDirection direction=EDirection::Vertical, double gearing=DEFAULT_GEARING) (defined in IKnobControlBase)IKnobControlBaseinline
IsDirty()IControlvirtual
IsDisabled() constIControlinline
IsFineControl(const IMouseMod &mod, bool wheel) const (defined in IKnobControlBase)IKnobControlBase
IsHidden() constIControlinline
IsHit(float x, float y) const overrideIVKnobControlvirtual
IVectorBase(const IVStyle &style, bool labelInWidget=false, bool valueInWidget=false)IVectorBaseinline
IVKnobControl(const IRECT &bounds, int paramIdx, const char *label="", const IVStyle &style=DEFAULT_STYLE, bool valueIsEditable=false, bool valueInWidget=false, float a1=-135.f, float a2=135.f, float aAnchor=-135.f, EDirection direction=EDirection::Vertical, double gearing=DEFAULT_GEARING, float trackSize=2.f) (defined in IVKnobControl)IVKnobControl
IVKnobControl(const IRECT &bounds, IActionFunction aF, const char *label="", const IVStyle &style=DEFAULT_STYLE, bool valueIsEditable=false, bool valueInWidget=false, float a1=-135.f, float a2=135.f, float aAnchor=-135.f, EDirection direction=EDirection::Vertical, double gearing=DEFAULT_GEARING, float trackSize=2.f) (defined in IVKnobControl)IVKnobControl
LinkedToParam(int paramIdx) constIControl
MakeRects(const IRECT &parent, bool hasHandle=false)IVectorBaseinline
mAnchorAngle (defined in IVKnobControl)IVKnobControlprotected
mAngle1 (defined in IVKnobControl)IVKnobControlprotected
mAngle2 (defined in IVKnobControl)IVKnobControlprotected
mBlend (defined in IControl)IControlprotected
mControl (defined in IVectorBase)IVectorBaseprotected
mDblAsSingleClick (defined in IControl)IControlprotected
mDirection (defined in IKnobControlBase)IKnobControlBaseprotected
mDirty (defined in IControl)IControlprotected
mDisabled (defined in IControl)IControlprotected
mDisablePrompt (defined in IControl)IControlprotected
mGearing (defined in IKnobControlBase)IKnobControlBaseprotected
mGroupIControlprotected
mHide (defined in IControl)IControlprotected
mHideCursorOnDrag (defined in IKnobControlBase)IKnobControlBaseprotected
mIgnoreMouse (defined in IControl)IControlprotected
mInnerPointerFrac (defined in IVKnobControl)IVKnobControlprotected
mLabelBounds (defined in IVectorBase)IVectorBaseprotected
mLabelInWidget (defined in IVectorBase)IVectorBaseprotected
mLabelStr (defined in IVectorBase)IVectorBaseprotected
mMaxSplashRadius (defined in IVectorBase)IVectorBaseprotected
mMouseDown (defined in IKnobControlBase)IKnobControlBaseprotected
mMouseDragValue (defined in IKnobControlBase)IKnobControlBaseprotected
mMouseEventsWhenDisabled (defined in IControl)IControlprotected
mMouseIsOverIControlprotected
mMouseOverWhenDisabled (defined in IControl)IControlprotected
mOuterPointerFrac (defined in IVKnobControl)IVKnobControlprotected
mPointerThickness (defined in IVKnobControl)IVKnobControlprotected
mPromptShowsParamLabel (defined in IControl)IControlprotected
mPTHighlightColor (defined in IControl)IControlprotected
mPTisHighlighted (defined in IControl)IControlprotected
mRECT (defined in IControl)IControlprotected
mShape (defined in IVectorBase)IVectorBaseprotected
mSplashPoint (defined in IVectorBase)IVectorBaseprotected
mSplashRadius (defined in IVectorBase)IVectorBaseprotected
mStyle (defined in IVectorBase)IVectorBaseprotected
mTargetRECT (defined in IControl)IControlprotected
mText (defined in IControl)IControlprotected
mTextEntryLength (defined in IControl)IControlprotected
mTooltip (defined in IControl)IControlprotected
mTrackSize (defined in IVectorBase)IVectorBaseprotected
mTrackToHandleDistance (defined in IVKnobControl)IVKnobControlprotected
mValueBounds (defined in IVectorBase)IVectorBaseprotected
mValueDisplayFrac (defined in IVectorBase)IVectorBaseprotected
mValueInWidget (defined in IVectorBase)IVectorBaseprotected
mValueMouseOver (defined in IVKnobControl)IVKnobControlprotected
mValueStr (defined in IVectorBase)IVectorBaseprotected
mWantsMidi (defined in IControl)IControlprotected
mWantsMultiTouch (defined in IControl)IControlprotected
mWidgetBounds (defined in IVectorBase)IVectorBaseprotected
NVals() constIControlinline
OnAttached()IControlinlinevirtual
OnContextSelection(int itemSelected)IControlinlinevirtual
OnDeleteFromPopupMenu(IPopupMenu *pMenu, int itemIdx)IControlinlinevirtual
OnDrop(const char *str)IControlinlinevirtual
OnDropMultiple(const std::vector< const char * > &paths)IControlinlinevirtual
OnEndAnimation() (defined in IControl)IControlvirtual
OnGesture(const IGestureInfo &info)IControlvirtual
OnGUIIdle()IControlinlinevirtual
OnInit() overrideIVKnobControlvirtual
OnKeyDown(float x, float y, const IKeyPress &key)IControlinlinevirtual
OnKeyUp(float x, float y, const IKeyPress &key)IControlinlinevirtual
OnMidi(const IMidiMsg &msg)IControlinlinevirtual
OnMouseDblClick(float x, float y, const IMouseMod &mod) overrideIVKnobControlvirtual
OnMouseDown(float x, float y, const IMouseMod &mod) overrideIVKnobControlvirtual
OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod &mod) overrideIKnobControlBasevirtual
OnMouseOut() overrideIVKnobControlinlinevirtual
OnMouseOver(float x, float y, const IMouseMod &mod) overrideIVKnobControlvirtual
OnMouseUp(float x, float y, const IMouseMod &mod) overrideIVKnobControlvirtual
OnMouseWheel(float x, float y, const IMouseMod &mod, float d) overrideIKnobControlBasevirtual
OnMsgFromDelegate(int msgTag, int dataSize, const void *pData)IControlinlinevirtual
OnPopupMenuSelection(IPopupMenu *pSelectedMenu, int valIdx)IControlvirtual
OnRescale()IControlinlinevirtual
OnResize() overrideIVKnobControlvirtual
OnStyleChanged()IVectorBaseinlinevirtual
OnTextEntryCompletion(const char *str, int valIdx)IControlinlinevirtual
OnTouchCancelled(float x, float y, const IMouseMod &mod)IControlinlinevirtual
operator=(const IControl &)=delete (defined in IControl)IControl
PromptUserInput(int valIdx=0)IControl
PromptUserInput(const IRECT &bounds, int valIdx=0)IControl
SetActionFunction(IActionFunction actionFunc)IControlinline
SetAngle(float angle) (defined in IVectorBase)IVectorBaseinline
SetAnimation(IAnimationFunction func)IControlinline
SetAnimation(IAnimationFunction func, int duration)IControlinline
SetAnimationEndActionFunction(IActionFunction actionFunc)IControlinline
SetBlend(const IBlend &blend)IControlinline
SetClean() (defined in IControl)IControlinlinevirtual
SetColor(EVColor colorIdx, const IColor &color)IVectorBaseinline
SetColors(const IVColorSpec &spec)IVectorBaseinline
SetDelegate(IGEditorDelegate &dlg)IControlinline
SetDirty(bool push, int valIdx=kNoValIdx) overrideIVKnobControlvirtual
SetDisabled(bool disable)IControlvirtual
SetDrawFrame(bool draw) (defined in IVectorBase)IVectorBaseinline
SetDrawShadows(bool draw) (defined in IVectorBase)IVectorBaseinline
SetEmboss(bool draw) (defined in IVectorBase)IVectorBaseinline
SetFrameThickness(float thickness) (defined in IVectorBase)IVectorBaseinline
SetGearing(double gearing) (defined in IKnobControlBase)IKnobControlBaseinline
SetGroup(const char *groupName)IControlinline
SetIgnoreMouse(bool ignore)IControlinlinevirtual
SetInnerPointerFrac(float frac) (defined in IVKnobControl)IVKnobControlinline
SetLabelStr(const char *label) (defined in IVectorBase)IVectorBaseinline
SetMouseEventsWhenDisabled(bool allow)IControlinline
SetMouseOverWhenDisabled(bool allow)IControlinline
SetNVals(int nVals) (defined in IControl)IControlinlineprotected
SetOuterPointerFrac(float frac) (defined in IVKnobControl)IVKnobControlinline
SetParamIdx(int paramIdx, int valIdx=0)IControlvirtual
SetParent(IContainerBase *pParent) (defined in IControl)IControlinline
SetPointerThickness(float thickness) (defined in IVKnobControl)IVKnobControlinline
SetPosition(float x, float y)IControlvirtual
SetPromptShowsParamLabel(bool enable)IControlinline
SetPTParameterHighlight(bool isHighlighted, int color)IControl
SetRECT(const IRECT &bounds)IControlinline
SetRoundness(float roundness) (defined in IVectorBase)IVectorBaseinline
SetShadowOffset(float offset) (defined in IVectorBase)IVectorBaseinline
SetShape(EVShape shape) (defined in IVectorBase)IVectorBaseinline
SetShowLabel(bool show) (defined in IVectorBase)IVectorBaseinline
SetShowValue(bool show) (defined in IVectorBase)IVectorBaseinline
SetSize(float w, float h)IControlvirtual
SetSplashPoint(float x, float y) (defined in IVectorBase)IVectorBaseinline
SetSplashRadius(float radius) (defined in IVectorBase)IVectorBaseinline
SetStyle(const IVStyle &style)IVectorBaseinlinevirtual
SetTargetAndDrawRECTs(const IRECT &bounds)IControlinline
SetTargetRECT(const IRECT &bounds)IControlinline
SetText(const IText &txt)IControlinlinevirtual
SetTextEntryLength(int len)IControlinline
SetTooltip(const char *str)IControlinline
SetValue(double value, int valIdx=0)IControlvirtual
SetValueFromDelegate(double value, int valIdx=0)IControlvirtual
SetValueFromUserInput(double value, int valIdx=0)IControlvirtual
SetValueStr(const char *value) (defined in IVectorBase)IVectorBaseinline
SetValueToDefault(int valIdx=kNoValIdx)IControlvirtual
SetWantsMidi(bool enable=true)IControlinline
SetWantsMultiTouch(bool enable=true)IControlinline
SetWidgetFrac(float frac) (defined in IVectorBase)IVectorBaseinline
SnapToMouse(float x, float y, EDirection direction, const IRECT &bounds, int valIdx=-1, double minClip=0., double maxClip=1.)IControlvirtual
StartAnimation(int duration)IControl
~IControl()IControlinlinevirtual
~IVectorBase() (defined in IVectorBase)IVectorBaseinlinevirtual
~IVKnobControl() (defined in IVKnobControl)IVKnobControlinlinevirtual
DrawHandle(IGraphics &g, const IRECT &bounds) (defined in IVKnobControl)IVKnobControlvirtual
DrawIndicatorTrack(IGraphics &g, float angle, float cx, float cy, float radius) (defined in IVKnobControl)IVKnobControlvirtual
DrawLabel(IGraphics &g)IVectorBaseinlinevirtual
DrawPointer(IGraphics &g, float angle, float cx, float cy, float radius) (defined in IVKnobControl)IVKnobControlvirtual
DrawPressableEllipse(IGraphics &g, const IRECT &bounds, bool pressed, bool mouseOver, bool disabled)IVectorBaseinline
DrawPressableRectangle(IGraphics &g, const IRECT &bounds, bool pressed, bool mouseOver, bool disabled, bool rtl=true, bool rtr=true, bool rbl=true, bool rbr=true)IVectorBaseinline
DrawPressableShape(IGraphics &g, EVShape shape, const IRECT &bounds, bool pressed, bool mouseOver, bool disabled)IVectorBaseinlinevirtual
DrawPressableTriangle(IGraphics &g, const IRECT &bounds, bool pressed, bool mouseOver, float angle, bool disabled)IVectorBaseinline
DrawPTHighlight(IGraphics &g)IControlvirtual
DrawSplash(IGraphics &g, const IRECT &clipRegion=IRECT())IVectorBaseinline
DrawValue(IGraphics &g, bool mouseOver)IVectorBaseinlinevirtual
DrawWidget(IGraphics &g) overrideIVKnobControlvirtual
ForValIdx(int valIdx, T func, Args... args)IControlinlineprotected
GetActionFunction()IControlinline
GetAdjustedHandleBounds(IRECT handleBounds) constIVectorBaseinline
GetAnimationDuration() constIControlinline
GetAnimationFunction()IControlinline
GetAnimationProgress() constIControl
GetBlend() constIControlinline
GetColor(EVColor color) constIVectorBaseinline
GetDelegate()IControlinline
GetGroup() constIControlinline
GetIgnoreMouse() constIControlinline
GetKnobDragBounds() overrideIVKnobControlprotectedvirtual
GetLabelBounds() const (defined in IVectorBase)IVectorBaseinline
GetLabelStr() const (defined in IVectorBase)IVectorBaseinline
GetLastGesture() constIControlinline
GetMouseDblAsSingleClick() constIControlinline
GetMouseEventsWhenDisabled() constIControlinline
GetMouseIsOver() constIControlinline
GetMouseOverWhenDisabled() constIControlinline
GetParam(int valIdx=0) constIControl
GetParamIdx(int valIdx=0) constIControl
GetParent() constIControlinline
GetPromptShowsParamLabel() constIControlinline
GetRadius() const (defined in IVKnobControl)IVKnobControl
GetRECT() constIControlinline
GetRoundedCornerRadius(const IRECT &bounds) constIVectorBaseinline
GetStyle() constIVectorBaseinline
GetTag() constIControlinline
GetTargetRECT() constIControlinline
GetText() constIControlinline
GetTextEntryLength() constIControlinline
GetTooltip() constIControlinline
GetTrackBounds() const (defined in IVKnobControl)IVKnobControl
GetUI()IControlinline
GetUI() constIControlinline
GetValIdxForPos(float x, float y) constIControlinlinevirtual
GetValue(int valIdx=0) constIControl
GetValueBounds() const (defined in IVectorBase)IVectorBaseinline
GetWantsGestures() constIControlinlinevirtual
GetWantsMidi() constIControlinline
GetWantsMultiTouch() constIControlinline
GetWidgetBounds() const (defined in IVectorBase)IVectorBaseinline
Hide(bool hide)IControlvirtual
IControl(const IRECT &bounds, int paramIdx=kNoParameter, IActionFunction actionFunc=nullptr)IControl
IControl(const IRECT &bounds, const std::initializer_list< int > &params, IActionFunction actionFunc=nullptr)IControl
IControl(const IRECT &bounds, IActionFunction actionFunc)IControl
IControl(const IControl &)=delete (defined in IControl)IControl
IKnobControlBase(const IRECT &bounds, int paramIdx=kNoParameter, EDirection direction=EDirection::Vertical, double gearing=DEFAULT_GEARING) (defined in IKnobControlBase)IKnobControlBaseinline
IsDirty()IControlvirtual
IsDisabled() constIControlinline
IsFineControl(const IMouseMod &mod, bool wheel) const (defined in IKnobControlBase)IKnobControlBase
IsHidden() constIControlinline
IsHit(float x, float y) const overrideIVKnobControlvirtual
IVectorBase(const IVStyle &style, bool labelInWidget=false, bool valueInWidget=false)IVectorBaseinline
IVKnobControl(const IRECT &bounds, int paramIdx, const char *label="", const IVStyle &style=DEFAULT_STYLE, bool valueIsEditable=false, bool valueInWidget=false, float a1=-135.f, float a2=135.f, float aAnchor=-135.f, EDirection direction=EDirection::Vertical, double gearing=DEFAULT_GEARING, float trackSize=2.f) (defined in IVKnobControl)IVKnobControl
IVKnobControl(const IRECT &bounds, IActionFunction aF, const char *label="", const IVStyle &style=DEFAULT_STYLE, bool valueIsEditable=false, bool valueInWidget=false, float a1=-135.f, float a2=135.f, float aAnchor=-135.f, EDirection direction=EDirection::Vertical, double gearing=DEFAULT_GEARING, float trackSize=2.f) (defined in IVKnobControl)IVKnobControl
LinkedToParam(int paramIdx) constIControl
MakeRects(const IRECT &parent, bool hasHandle=false)IVectorBaseinline
mAnchorAngle (defined in IVKnobControl)IVKnobControlprotected
mAngle1 (defined in IVKnobControl)IVKnobControlprotected
mAngle2 (defined in IVKnobControl)IVKnobControlprotected
mBlend (defined in IControl)IControlprotected
mControl (defined in IVectorBase)IVectorBaseprotected
mDblAsSingleClick (defined in IControl)IControlprotected
mDirection (defined in IKnobControlBase)IKnobControlBaseprotected
mDirty (defined in IControl)IControlprotected
mDisabled (defined in IControl)IControlprotected
mDisablePrompt (defined in IControl)IControlprotected
mGearing (defined in IKnobControlBase)IKnobControlBaseprotected
mGroupIControlprotected
mHide (defined in IControl)IControlprotected
mHideCursorOnDrag (defined in IKnobControlBase)IKnobControlBaseprotected
mIgnoreMouse (defined in IControl)IControlprotected
mInnerPointerFrac (defined in IVKnobControl)IVKnobControlprotected
mLabelBounds (defined in IVectorBase)IVectorBaseprotected
mLabelInWidget (defined in IVectorBase)IVectorBaseprotected
mLabelStr (defined in IVectorBase)IVectorBaseprotected
mMaxSplashRadius (defined in IVectorBase)IVectorBaseprotected
mMouseDown (defined in IKnobControlBase)IKnobControlBaseprotected
mMouseDragValue (defined in IKnobControlBase)IKnobControlBaseprotected
mMouseEventsWhenDisabled (defined in IControl)IControlprotected
mMouseIsOverIControlprotected
mMouseOverWhenDisabled (defined in IControl)IControlprotected
mOuterPointerFrac (defined in IVKnobControl)IVKnobControlprotected
mPointerThickness (defined in IVKnobControl)IVKnobControlprotected
mPromptShowsParamLabel (defined in IControl)IControlprotected
mPTHighlightColor (defined in IControl)IControlprotected
mPTisHighlighted (defined in IControl)IControlprotected
mRECT (defined in IControl)IControlprotected
mShape (defined in IVectorBase)IVectorBaseprotected
mSplashPoint (defined in IVectorBase)IVectorBaseprotected
mSplashRadius (defined in IVectorBase)IVectorBaseprotected
mStyle (defined in IVectorBase)IVectorBaseprotected
mTargetRECT (defined in IControl)IControlprotected
mText (defined in IControl)IControlprotected
mTextEntryLength (defined in IControl)IControlprotected
mTooltip (defined in IControl)IControlprotected
mTrackSize (defined in IVectorBase)IVectorBaseprotected
mTrackToHandleDistance (defined in IVKnobControl)IVKnobControlprotected
mValueBounds (defined in IVectorBase)IVectorBaseprotected
mValueDisplayFrac (defined in IVectorBase)IVectorBaseprotected
mValueInWidget (defined in IVectorBase)IVectorBaseprotected
mValueMouseOver (defined in IVKnobControl)IVKnobControlprotected
mValueStr (defined in IVectorBase)IVectorBaseprotected
mWantsMidi (defined in IControl)IControlprotected
mWantsMultiTouch (defined in IControl)IControlprotected
mWidgetBounds (defined in IVectorBase)IVectorBaseprotected
NVals() constIControlinline
OnAttached()IControlinlinevirtual
OnContextSelection(int itemSelected)IControlinlinevirtual
OnDeleteFromPopupMenu(IPopupMenu *pMenu, int itemIdx)IControlinlinevirtual
OnDrop(const char *str)IControlinlinevirtual
OnDropMultiple(const std::vector< const char * > &paths)IControlinlinevirtual
OnEndAnimation() (defined in IControl)IControlvirtual
OnGesture(const IGestureInfo &info)IControlvirtual
OnGUIIdle()IControlinlinevirtual
OnInit() overrideIVKnobControlvirtual
OnKeyDown(float x, float y, const IKeyPress &key)IControlinlinevirtual
OnKeyUp(float x, float y, const IKeyPress &key)IControlinlinevirtual
OnMidi(const IMidiMsg &msg)IControlinlinevirtual
OnMouseDblClick(float x, float y, const IMouseMod &mod) overrideIVKnobControlvirtual
OnMouseDown(float x, float y, const IMouseMod &mod) overrideIVKnobControlvirtual
OnMouseDrag(float x, float y, float dX, float dY, const IMouseMod &mod) overrideIKnobControlBasevirtual
OnMouseOut() overrideIVKnobControlinlinevirtual
OnMouseOver(float x, float y, const IMouseMod &mod) overrideIVKnobControlvirtual
OnMouseUp(float x, float y, const IMouseMod &mod) overrideIVKnobControlvirtual
OnMouseWheel(float x, float y, const IMouseMod &mod, float d) overrideIKnobControlBasevirtual
OnMsgFromDelegate(int msgTag, int dataSize, const void *pData)IControlinlinevirtual
OnPopupMenuSelection(IPopupMenu *pSelectedMenu, int valIdx)IControlvirtual
OnRescale()IControlinlinevirtual
OnResize() overrideIVKnobControlvirtual
OnStyleChanged()IVectorBaseinlinevirtual
OnTextEntryCompletion(const char *str, int valIdx)IControlinlinevirtual
OnTouchCancelled(float x, float y, const IMouseMod &mod)IControlinlinevirtual
operator=(const IControl &)=delete (defined in IControl)IControl
PromptUserInput(int valIdx=0)IControl
PromptUserInput(const IRECT &bounds, int valIdx=0)IControl
SetActionFunction(IActionFunction actionFunc)IControlinline
SetAngle(float angle) (defined in IVectorBase)IVectorBaseinline
SetAnimation(IAnimationFunction func)IControlinline
SetAnimation(IAnimationFunction func, int duration)IControlinline
SetAnimationEndActionFunction(IActionFunction actionFunc)IControlinline
SetBlend(const IBlend &blend)IControlinline
SetClean() (defined in IControl)IControlinlinevirtual
SetColor(EVColor colorIdx, const IColor &color)IVectorBaseinline
SetColors(const IVColorSpec &spec)IVectorBaseinline
SetDelegate(IGEditorDelegate &dlg)IControlinline
SetDirty(bool push, int valIdx=kNoValIdx) overrideIVKnobControlvirtual
SetDisabled(bool disable)IControlvirtual
SetDrawFrame(bool draw) (defined in IVectorBase)IVectorBaseinline
SetDrawShadows(bool draw) (defined in IVectorBase)IVectorBaseinline
SetEmboss(bool draw) (defined in IVectorBase)IVectorBaseinline
SetFrameThickness(float thickness) (defined in IVectorBase)IVectorBaseinline
SetGearing(double gearing) (defined in IKnobControlBase)IKnobControlBaseinline
SetGroup(const char *groupName)IControlinline
SetIgnoreMouse(bool ignore)IControlinlinevirtual
SetInnerPointerFrac(float frac) (defined in IVKnobControl)IVKnobControlinline
SetLabelStr(const char *label) (defined in IVectorBase)IVectorBaseinline
SetMouseEventsWhenDisabled(bool allow)IControlinline
SetMouseOverWhenDisabled(bool allow)IControlinline
SetNVals(int nVals) (defined in IControl)IControlinlineprotected
SetOuterPointerFrac(float frac) (defined in IVKnobControl)IVKnobControlinline
SetParamIdx(int paramIdx, int valIdx=0)IControlvirtual
SetParent(IContainerBase *pParent) (defined in IControl)IControlinline
SetPointerThickness(float thickness) (defined in IVKnobControl)IVKnobControlinline
SetPosition(float x, float y)IControlvirtual
SetPromptShowsParamLabel(bool enable)IControlinline
SetPTParameterHighlight(bool isHighlighted, int color)IControl
SetRECT(const IRECT &bounds)IControlinline
SetRoundness(float roundness) (defined in IVectorBase)IVectorBaseinline
SetShadowOffset(float offset) (defined in IVectorBase)IVectorBaseinline
SetShape(EVShape shape) (defined in IVectorBase)IVectorBaseinline
SetShowLabel(bool show) (defined in IVectorBase)IVectorBaseinline
SetShowValue(bool show) (defined in IVectorBase)IVectorBaseinline
SetSize(float w, float h)IControlvirtual
SetSplashPoint(float x, float y) (defined in IVectorBase)IVectorBaseinline
SetSplashRadius(float radius) (defined in IVectorBase)IVectorBaseinline
SetStyle(const IVStyle &style)IVectorBaseinlinevirtual
SetTargetAndDrawRECTs(const IRECT &bounds)IControlinline
SetTargetRECT(const IRECT &bounds)IControlinline
SetText(const IText &txt)IControlinlinevirtual
SetTextEntryLength(int len)IControlinline
SetTooltip(const char *str)IControlinline
SetValue(double value, int valIdx=0)IControlvirtual
SetValueFromDelegate(double value, int valIdx=0)IControlvirtual
SetValueFromUserInput(double value, int valIdx=0)IControlvirtual
SetValueStr(const char *value) (defined in IVectorBase)IVectorBaseinline
SetValueToDefault(int valIdx=kNoValIdx)IControlvirtual
SetWantsMidi(bool enable=true)IControlinline
SetWantsMultiTouch(bool enable=true)IControlinline
SetWidgetFrac(float frac) (defined in IVectorBase)IVectorBaseinline
SnapToMouse(float x, float y, EDirection direction, const IRECT &bounds, int valIdx=-1, double minClip=0., double maxClip=1.)IControlvirtual
StartAnimation(int duration)IControl
~IControl()IControlinlinevirtual
~IVectorBase() (defined in IVectorBase)IVectorBaseinlinevirtual
~IVKnobControl() (defined in IVKnobControl)IVKnobControlinlinevirtual