ASPiK SDK
vstguifwd.h
1 // This file is part of VSTGUI. It is subject to the license terms
2 // in the LICENSE file found in the top-level directory of this
3 // distribution and at http://github.com/steinbergmedia/vstgui/LICENSE
4 
5 #ifndef __vstguifwd__
6 #define __vstguifwd__
7 
8 #include "vstguibase.h"
9 #include <functional>
10 
11 namespace VSTGUI {
12 
13 //-----------------------------------------------------------------------------
14 using CViewAttributeID = size_t;
15 
16 // enums
17 //----------------------------
18 // @brief Mouse Wheel Axis
19 //----------------------------
20 enum CMouseWheelAxis
21 {
22  kMouseWheelAxisX = 0,
23  kMouseWheelAxisY
24 };
25 
26 //----------------------------
27 // @brief Mouse Event Results
28 //----------------------------
29 enum CMouseEventResult
30 {
31  kMouseEventNotImplemented = 0,
32  kMouseEventHandled,
33  kMouseEventNotHandled,
34  kMouseDownEventHandledButDontNeedMovedOrUpEvents,
35  kMouseMoveEventHandledButDontNeedMoreEvents
36 };
37 
38 //----------------------------
39 // @brief Cursor Type
40 //----------------------------
41 enum CCursorType
42 {
43  kCursorDefault = 0,
44  kCursorWait,
45  kCursorHSize,
46  kCursorVSize,
47  kCursorSizeAll,
48  kCursorNESWSize,
49  kCursorNWSESize,
50  kCursorCopy,
51  kCursorNotAllowed,
52  kCursorHand
53 };
54 
55 //----------------------------
56 // @brief View Autosizing
57 //----------------------------
58 enum CViewAutosizing
59 {
60  kAutosizeNone = 0,
61  kAutosizeLeft = 1 << 0,
62  kAutosizeTop = 1 << 1,
63  kAutosizeRight = 1 << 2,
64  kAutosizeBottom = 1 << 3,
65  kAutosizeColumn = 1 << 4,
66  kAutosizeRow = 1 << 5,
67  kAutosizeAll = kAutosizeLeft | kAutosizeTop | kAutosizeRight | kAutosizeBottom
68 };
69 
70 enum DragResult {
71  kDragRefused = 0,
72  kDragMoved,
73  kDragCopied,
74  kDragError = -1
75 };
76 
77 // simple structs
78 struct CColor;
79 struct CPoint;
80 struct CRect;
81 struct CButtonState;
82 struct CDrawMode;
83 struct CGraphicsTransform;
84 
85 // interfaces
86 class IViewListener;
87 class IViewContainerListener;
88 class IDataPackage;
89 class IDependency;
90 class IFocusDrawing;
91 class IScaleFactorChangedListener;
92 #if VSTGUI_TOUCH_EVENT_HANDLING
93 class ITouchEvent;
94 #endif
95 class IDataBrowserDelegate;
96 class IMouseObserver;
97 class IKeyboardHook;
98 class IViewAddedRemovedObserver;
99 class IFocusViewObserver;
100 class ISplitViewController;
101 class ISplitViewSeparatorDrawer;
102 class IScrollbarDrawer;
103 class IControlListener;
104 
105 // classes
106 class CBitmap;
107 class CNinePartTiledBitmap;
108 class CResourceDescription;
109 class CLineStyle;
110 class CDrawContext;
111 class COffscreenContext;
112 class CDropSource;
113 class CFileExtension;
114 class CNewFileSelector;
115 class CFontDesc;
116 class VSTGUIEditorInterface;
117 class CTooltipSupport;
118 class CGraphicsPath;
119 class CGradient;
120 class UTF8String;
121 class UTF8StringView;
122 class CVSTGUITimer;
123 class CMenuItem;
124 class CCommandMenuItem;
125 class GenericStringListDataBrowserSource;
126 
127 // views
128 class CFrame;
129 class CDataBrowser;
130 class CGradientView;
131 class CLayeredViewContainer;
132 class CAutoLayoutContainerView;
133 class CRowColumnView;
134 class CScrollView;
135 class CShadowViewContainer;
136 class CSplitView;
137 class CTabView;
138 class CView;
139 class CViewContainer;
140 #if VSTGUI_OPENGL_SUPPORT
141 class COpenGLView;
142 #endif
143 
144 // controls
145 class CAutoAnimation;
146 class COnOffButton;
147 class CCheckBox;
148 class CKickButton;
149 class CTextButton;
150 class CColorChooser;
151 class CControl;
152 class CFontChooser;
153 class CKnob;
154 class CAnimKnob;
155 class CMovieBitmap;
156 class CMovieButton;
157 class COptionMenu;
158 class CParamDisplay;
159 class CScrollbar;
160 class CSegmentButton;
161 class CSlider;
162 class CVerticalSlider;
163 class CHorizontalSlider;
164 class CSpecialDigit;
165 class CSplashScreen;
166 class CAnimationSplashScreen;
167 class CVerticalSwitch;
168 class CHorizontalSwitch;
169 class CRockerSwitch;
170 class CTextEdit;
171 class CSearchTextEdit;
172 class CTextLabel;
173 class CMultiLineTextLabel;
174 class CVuMeter;
175 class CXYPad;
176 
177 // animation
178 namespace Animation {
179 class IAnimationTarget;
180 class ITimingFunction;
181 class AlphaValueAnimation;
182 class ViewSizeAnimation;
183 class ExchangeViewAnimation;
184 class ControlValueAnimation;
185 class Animator;
186 class TimingFunctionBase;
187 class LinearTimingFunction;
188 class PowerTimingFunction;
189 class InterpolationTimingFunction;
190 class RepeatTimingFunction;
191 using DoneFunction = std::function<void (CView*, const IdStringPtr, IAnimationTarget*)>;
192 } // Animation
193 
194 template <class I> class SharedPointer;
195 
196 // platform
197 class IPlatformTextEdit;
198 class IPlatformTextEditCallback;
199 class IPlatformOptionMenu;
200 class IPlatformOpenGLView;
201 class IPlatformViewLayer;
202 class IPlatformViewLayerDelegate;
203 class IPlatformString;
204 class IPlatformBitmap;
205 class IPlatformBitmapPixelAccess;
206 class IPlatformFont;
207 class IPlatformFrame;
208 class IFontPainter;
209 
210 }
211 
212 #endif // __vstguifwd__
Definition: customcontrols.cpp:8