VSTGUI  4.2
Graphical User Interface Framework not only for VST plugins
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
VSTGUI Namespace Reference

Namespaces

 Animation
 
 BitmapFilter
 
 UIDescriptionPrivate
 
 Xml
 

Classes

class  Base64Codec
 
class  CAnimationSplashScreen
 a splash screen which animates the opening and closing of the splash bitmap More...
 
class  CAnimKnob
 a bitmap knob control More...
 
class  CAutoAnimation
 
class  CAutoLayoutContainerView
 
class  CBaseObject
 Base Object with reference counter. More...
 
class  CBaseObjectGuard
 
class  CBitmap
 Encapsulates various platform depended kinds of bitmaps. More...
 
class  CBitmapPixelAccess
 direct pixel access to a CBitmap More...
 
class  CButtonState
 Button and Modifier state. More...
 
class  CCheckBox
 a check box control with a title and 3 states More...
 
struct  CColor
 RGBA Color structure. More...
 
class  CColorChooser
 
struct  CColorChooserUISettings
 
class  CCommandMenuItem
 a command menu item More...
 
class  CControl
 base class of all VSTGUI controls More...
 
class  CDataBrowser
 DataBrowser view. More...
 
class  CDragContainerHelper
 Helper class to port old code which used CDragContainer. More...
 
class  CDrawContext
 A drawing context encapsulates the drawing context of the underlying OS. More...
 
class  CDrawMode
 
class  CDropSource
 drop source More...
 
class  CFileExtension
 file extension description More...
 
class  CFileStream
 
class  CFontChooser
 
struct  CFontChooserUIDefinition
 
class  CFontDesc
 font class More...
 
class  CFrame
 The CFrame is the parent container of all views. More...
 
class  CGradient
 Gradient Object [new in 4.0]. More...
 
class  CGradientView
 View which draws a gradient. More...
 
class  CGraphicsPath
 Graphics Path Object. More...
 
struct  CGraphicsTransform
 Graphics Transform Matrix. More...
 
class  CHorizontalSlider
 a horizontal slider control More...
 
class  CHorizontalSwitch
 a horizontal switch control More...
 
class  CKickButton
 
class  CKnob
 a knob control More...
 
class  CLayeredViewContainer
 a view container which draws into a platform layer on top of a parent layer or the platform viewA CLayeredViewContainer creates a platform layer on top of a parent layer or the platform view of CFrame if available on that platform and draws into it, otherwise it acts exactly like a CViewContainer More...
 
class  CLineStyle
 
class  CMemoryStream
 
class  CMenuItem
 a menu item More...
 
class  CMenuItemList
 
class  CMovieBitmap
 a bitmap view that displays different bitmaps according to its current value More...
 
class  CMovieButton
 a bi-states button with 2 subbitmaps More...
 
class  CNewFileSelector
 New file selector class. More...
 
class  CNinePartTiledBitmap
 a nine-part tiled bitmap More...
 
class  COffscreenContext
 A draw context using a bitmap as it's back buffer. More...
 
class  COnOffButton
 a button control with 2 states More...
 
class  COpenGLView
 a subview which uses OpenGL for drawing More...
 
class  COptionMenu
 a popup menu control More...
 
class  CParamDisplay
 a parameter display More...
 
struct  CPoint
 Point structure. More...
 
struct  CRect
 Rect structure. More...
 
class  CResourceDescription
 Describes a resource by name or by ID. More...
 
class  CResourceInputStream
 
class  CRockerSwitch
 a switch control with 3 sub bitmaps More...
 
class  CRowColumnView
 a view container which layouts its subview as rows or columns More...
 
class  CScrollbar
 a scrollbar control More...
 
class  CScrollView
 a scrollable container view with scrollbars More...
 
class  CShadowViewContainer
 a view container which draws a shadow for it's subviews More...
 
class  CSlider
 a slider control More...
 
class  CSpecialDigit
 special display with custom numbers (0...9) More...
 
class  CSplashScreen
 
class  CSplitView
 a split container view with separators between its child views More...
 
class  CString
 a string holder class More...
 
class  CTabView
 a tab view More...
 
class  CTextButton
 a button which renders without bitmaps More...
 
class  CTextEdit
 a text edit control More...
 
class  CTextLabel
 a text label More...
 
class  CTooltipSupport
 Generic Tooltip Support class. More...
 
class  CVerticalSlider
 a vertical slider control More...
 
class  CVerticalSwitch
 a vertical switch control More...
 
class  CView
 Base Class of all view objects. More...
 
class  CViewContainer
 Container Class of CView objects. More...
 
class  CVSTGUITimer
 A timer class, which posts timer messages to CBaseObjects. More...
 
class  CVuMeter
 
class  CXYPad
 
class  DelegationController
 
class  GenericStringListDataBrowserSource
 Generic string list data browser source. More...
 
class  GroupController
 
class  IBitmapCreator
 
class  IColorChooserDelegate
 
class  IController
 extension to CControlListener used by UIDescription More...
 
class  IDataBrowserDelegate
 DataBrowser Interface. More...
 
class  IDataPackage
 interface for drag&drop and clipboard data More...
 
class  IDependency
 simple dependency between objects. More...
 
class  IFocusDrawing
 Custom focus drawing interface. More...
 
class  IFontChooserDelegate
 
class  IFontPainter
 font paint interface More...
 
class  IGenericStringListDataBrowserSourceSelectionChanged
 
class  IKeyboardHook
 generic keyboard hook interface for CFrame More...
 
class  IMouseObserver
 generic mouse observer interface for CFrame More...
 
class  IMultiBitmapControl
 interface for controls with sub images More...
 
class  InputStream
 
class  IPlatformFont
 platform font class More...
 
class  IScrollbarDrawer
 
class  ISplitViewController
 Split View Controller. More...
 
class  ISplitViewSeparatorDrawer
 
class  ITouchEvent
 a touch event More...
 
class  IUIDescription
 
class  IViewAddedRemovedObserver
 view added removed observer interface for CFrame More...
 
class  IViewCreator
 View creator interface. More...
 
class  IViewFactory
 
class  IViewSwitchController
 
class  OutputStream
 
class  OwningPointer
 
class  PadController
 
class  ParameterChangeListener
 
class  SeekableStream
 
class  SharedPointer
 
class  UIAttributes
 
class  UIDescription
 XML description parser and view creator. More...
 
class  UIDescriptionViewSwitchController
 
class  UIViewFactory
 Default view factory. More...
 
class  UIViewSwitchContainer
 
class  UTF8CharacterIterator
 
class  ViewCreatorRegistry
 
class  VST3Editor
 VST3 Editor with automatic parameter binding. More...
 
class  VST3EditorDelegate
 delegate extension to Steinberg::Vst::EditController for a VST3 Editor More...
 
class  VSTGUIEditorInterface
 

Typedefs

typedef IDataBrowserDelegate IDataBrowser
 
typedef CFontDescCFontRef
 
typedef std::list
< OwningPointer< CMenuItem >
>::iterator 
CMenuItemIterator
 
typedef std::list
< OwningPointer< CMenuItem >
>::const_iterator 
CConstMenuItemIterator
 
typedef bool(* CParamDisplayValueToStringProc )(float value, char utf8String[256], void *userData)
 
typedef bool(* CTextEditStringToValueProc )(UTF8StringPtr txt, float &result, void *userData)
 
typedef uint32_t CViewAttributeID
 
typedef
CViewContainer::Iterator
< false > 
ViewIterator
 
typedef
CViewContainer::Iterator< true > 
ReverseViewIterator
 
typedef double CCoord
 coordinate type More...
 
typedef const char * IdStringPtr
 ID String pointer. More...
 
typedef const char * UTF8StringPtr
 UTF8 String pointer. More...
 
typedef char * UTF8StringBuffer
 UTF8 String buffer pointer. More...
 

Enumerations

enum  CDrawModeFlags {
  kAliasing = 0, kAntiAliasing = 1, kCopyMode = kAliasing, kAntialias = kAntiAliasing,
  kIntegralMode = 0xF0000000
}
 
enum  CHoriTxtAlign { kLeftText = 0, kCenterText, kRightText }
 
enum  CDrawStyle { kDrawStroked = 0, kDrawFilled, kDrawFilledAndStroked }
 
enum  CTxtFace {
  kNormalFace = 0, kBoldFace = 1 << 1, kItalicFace = 1 << 2, kUnderlineFace = 1 << 3,
  kStrikethroughFace = 1 << 4
}
 
enum  CKnobMode { kCircularMode = 0, kRelativCircularMode, kLinearMode }
 
enum  CControlEnum {
  kHorizontal = 1 << 0, kVertical = 1 << 1, kShadowText = 1 << 2, kLeft = 1 << 3,
  kRight = 1 << 4, kTop = 1 << 5, kBottom = 1 << 6, k3DIn = 1 << 7,
  k3DOut = 1 << 8, kPopupStyle = 1 << 9, kCheckStyle = 1 << 10, kMultipleCheckStyle,
  kNoTextStyle = 1 << 11, kNoDrawStyle = 1 << 12, kDoubleClickStyle = 1 << 13, kNoFrame = 1 << 14,
  kRoundRectStyle = 1 << 15
}
 
enum  CMouseWheelAxis { kMouseWheelAxisX = 0, kMouseWheelAxisY }
 
enum  CMouseEventResult {
  kMouseEventNotImplemented = 0, kMouseEventHandled, kMouseEventNotHandled, kMouseDownEventHandledButDontNeedMovedOrUpEvents,
  kMouseMoveEventHandledButDontNeedMoreEvents
}
 
enum  CCursorType {
  kCursorDefault = 0, kCursorWait, kCursorHSize, kCursorVSize,
  kCursorSizeAll, kCursorNESWSize, kCursorNWSESize, kCursorCopy,
  kCursorNotAllowed, kCursorHand
}
 
enum  CViewAutosizing {
  kAutosizeNone = 0, kAutosizeLeft = 1 << 0, kAutosizeTop = 1 << 1, kAutosizeRight = 1 << 2,
  kAutosizeBottom = 1 << 3, kAutosizeColumn = 1 << 4, kAutosizeRow = 1 << 5, kAutosizeAll = kAutosizeLeft | kAutosizeTop | kAutosizeRight | kAutosizeBottom
}
 
enum  CButton {
  kLButton = 1 << 1, kMButton = 1 << 2, kRButton = 1 << 3, kShift = 1 << 4,
  kControl = 1 << 5, kAlt = 1 << 6, kApple = 1 << 7, kButton4 = 1 << 8,
  kButton5 = 1 << 9, kDoubleClick = 1 << 10, kMouseWheelInverted = 1 << 11
}
 
enum  ByteOrder { kBigEndianByteOrder = 0, kLittleEndianByteOrder, kNativeByteOrder = kBigEndianByteOrder }
 
enum  CMessageResult { kMessageUnknown = 0, kMessageNotified = 1 }
 

Functions

CColor MakeCColor (uint8_t red=0, uint8_t green=0, uint8_t blue=0, uint8_t alpha=255)
 
static double radians (double degrees)
 
static bool styleIsInverseStyle (int32_t style)
 
static ISplitViewControllergetSplitViewController (const CView *view)
 
static UTF8StringBuffer getTooltipFromView (CView *view)
 
static bool viewHasTooltip (CView *view)
 
static void unixfyPath (std::string &path)
 
IControllergetViewController (const CView *view, bool deep=false)
 
static UIViewFactorygetGenericViewFactory ()
 
static void removeChildNode (UINode *baseNode, UTF8StringPtr nodeName)
 
static ViewCreatorRegistrygetCreatorRegistry ()
 
static CControlfindControlTag (CViewContainer *parent, int32_t tag, bool reverse=true)
 
static bool parseSize (const std::string &str, CPoint &point)
 
static void releaseSubController (IController *subController)
 

Variables

const CColor kTransparentCColor = CColor (255, 255, 255, 0)
 
const CColor kBlackCColor = CColor ( 0, 0, 0, 255)
 
const CColor kWhiteCColor = CColor (255, 255, 255, 255)
 
const CColor kGreyCColor = CColor (127, 127, 127, 255)
 
const CColor kRedCColor = CColor (255, 0, 0, 255)
 
const CColor kGreenCColor = CColor ( 0, 255, 0, 255)
 
const CColor kBlueCColor = CColor ( 0, 0, 255, 255)
 
const CColor kYellowCColor = CColor (255, 255, 0, 255)
 
const CColor kMagentaCColor = CColor (255, 0, 255, 255)
 
const CColor kCyanCColor = CColor ( 0, 255, 255, 255)
 
static const CCoord kDefaultOnOffDashLength [] = {1, 1}
 
const CLineStyle kLineSolid
 
const CLineStyle kLineOnOffDash (CLineStyle::kLineCapButt, CLineStyle::kLineJoinMiter, 0, 2, kDefaultOnOffDashLength)
 
static CFontDesc gSystemFont ("FreeSans", 12)
 
static CFontDesc gNormalFontVeryBig ("FreeSans", 18)
 
static CFontDesc gNormalFontBig ("FreeSans", 14)
 
static CFontDesc gNormalFont ("FreeSans", 12)
 
static CFontDesc gNormalFontSmall ("FreeSans", 11)
 
static CFontDesc gNormalFontSmaller ("FreeSans", 10)
 
static CFontDesc gNormalFontVerySmall ("FreeSans", 9)
 
static CFontDesc gSymbolFont ("Symbol", 13)
 
const CFontRef kSystemFont = &gSystemFont
 
const CFontRef kNormalFontVeryBig = &gNormalFontVeryBig
 
const CFontRef kNormalFontBig = &gNormalFontBig
 
const CFontRef kNormalFont = &gNormalFont
 
const CFontRef kNormalFontSmall = &gNormalFontSmall
 
const CFontRef kNormalFontSmaller = &gNormalFontSmaller
 
const CFontRef kNormalFontVerySmall = &gNormalFontVerySmall
 
const CFontRef kSymbolFont = &gSymbolFont
 
IdStringPtr kMsgNewFocusView = "kMsgNewFocusView"
 Message send to all parents of the new focus view. More...
 
IdStringPtr kMsgOldFocusView = "kMsgOldFocusView"
 Message send to all parents of the old focus view. More...
 
static CCoord kCheckBoxTitleMargin = 5
 
static const float kCKnobRange = 200.f
 
UTF8StringPtr kDegreeSymbol = "\xC2\xB0"
 degree sign More...
 
UTF8StringPtr kInfiniteSymbol = "\xE2\x88\x9E"
 infinity More...
 
UTF8StringPtr kCopyrightSymbol = "\xC2\xA9"
 copyright sign More...
 
UTF8StringPtr kTrademarkSymbol = "\xE2\x84\xA2"
 trade mark sign More...
 
UTF8StringPtr kRegisteredSymbol = "\xC2\xAE"
 registered sign More...
 
UTF8StringPtr kMicroSymbol = "\xC2\xB5"
 micro sign More...
 
UTF8StringPtr kPerthousandSymbol = "\xE2\x80\xB0"
 per mille sign More...
 
IdStringPtr kMsgViewSizeChanged = "kMsgViewSizeChanged"
 Message send to parent that the size of the view has changed. More...
 
const CViewAttributeID kCViewAttributeReferencePointer = 'cvrp'
 
const CViewAttributeID kCViewTooltipAttribute = 'cvtt'
 
const CViewAttributeID kCViewControllerAttribute = 'ictr'
 
IdStringPtr kMsgCheckIfViewContainer
 Message to check if View is a CViewContainer. More...
 
IdStringPtr kMsgLooseFocus
 Message of a view loosing focus (only CTextEdit and COptionMenu send this yet) More...
 
static const int8_t unixPathSeparator = '/'
 
static const int8_t windowsPathSeparator = '\\'
 

Typedef Documentation

typedef std::list<OwningPointer<CMenuItem> >::const_iterator CConstMenuItemIterator
typedef double CCoord

coordinate type

typedef CFontDesc* CFontRef
typedef std::list<OwningPointer<CMenuItem> >::iterator CMenuItemIterator
typedef bool(* CParamDisplayValueToStringProc)(float value, char utf8String[256], void *userData)
typedef bool(* CTextEditStringToValueProc)(UTF8StringPtr txt, float &result, void *userData)
typedef uint32_t CViewAttributeID
typedef const char* IdStringPtr

ID String pointer.

typedef char* UTF8StringBuffer

UTF8 String buffer pointer.

typedef const char* UTF8StringPtr

UTF8 String pointer.

Enumeration Type Documentation

enum ByteOrder
Enumerator
kBigEndianByteOrder 
kLittleEndianByteOrder 
kNativeByteOrder 
enum CButton
Enumerator
kLButton 

left mouse button

kMButton 

middle mouse button

kRButton 

right mouse button

kShift 

shift modifier

kControl 

control modifier (Command Key on Mac OS X and Control Key on Windows)

kAlt 

alt modifier

kApple 

apple modifier (Mac OS X only. Is the Control key)

kButton4 

4th mouse button

kButton5 

5th mouse button

kDoubleClick 

mouse button is double click

kMouseWheelInverted 

system mouse wheel setting is inverted (Only valid for onMouseWheel methods). The distance value is already transformed back to non inverted. But for scroll views we need to know if we need to invert it back.

Enumerator
kHorizontal 
kVertical 
kShadowText 
kLeft 
kRight 
kTop 
kBottom 
k3DIn 
k3DOut 
kPopupStyle 
kCheckStyle 
kMultipleCheckStyle 
kNoTextStyle 
kNoDrawStyle 
kDoubleClickStyle 
kNoFrame 
kRoundRectStyle 
Enumerator
kCursorDefault 

arrow cursor

kCursorWait 

wait cursor

kCursorHSize 

horizontal size cursor

kCursorVSize 

vertical size cursor

kCursorSizeAll 

size all cursor

kCursorNESWSize 

northeast and southwest size cursor

kCursorNWSESize 

northwest and southeast size cursor

kCursorCopy 

copy cursor (mainly for drag&drop operations)

kCursorNotAllowed 

not allowed cursor (mainly for drag&drop operations)

kCursorHand 

hand cursor

Enumerator
kAliasing 

aliased drawing

kAntiAliasing 

antialised drawing

kCopyMode 
Deprecated:
use kAliasing
kAntialias 
Deprecated:
use kAntiAliasing
kIntegralMode 

round coordinates to intragral values

enum CDrawStyle
Enumerator
kDrawStroked 
kDrawFilled 
kDrawFilledAndStroked 
Enumerator
kLeftText 
kCenterText 
kRightText 
enum CKnobMode
Enumerator
kCircularMode 
kRelativCircularMode 
kLinearMode 
Enumerator
kMessageUnknown 
kMessageNotified 
Enumerator
kMouseEventNotImplemented 
kMouseEventHandled 
kMouseEventNotHandled 
kMouseDownEventHandledButDontNeedMovedOrUpEvents 
kMouseMoveEventHandledButDontNeedMoreEvents 
Enumerator
kMouseWheelAxisX 
kMouseWheelAxisY 
enum CTxtFace
Enumerator
kNormalFace 
kBoldFace 
kItalicFace 
kUnderlineFace 
kStrikethroughFace 
Enumerator
kAutosizeNone 
kAutosizeLeft 
kAutosizeTop 
kAutosizeRight 
kAutosizeBottom 
kAutosizeColumn 

view containers treat their children as columns

kAutosizeRow 

view containers treat their children as rows

kAutosizeAll 

Function Documentation

static CControl* VSTGUI::findControlTag ( CViewContainer *  parent,
int32_t  tag,
bool  reverse = true 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ViewCreatorRegistry& VSTGUI::getCreatorRegistry ( )
static

+ Here is the caller graph for this function:

static UIViewFactory* VSTGUI::getGenericViewFactory ( )
static

+ Here is the caller graph for this function:

static ISplitViewController* VSTGUI::getSplitViewController ( const CView *  view)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static UTF8StringBuffer VSTGUI::getTooltipFromView ( CView *  view)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

IController* VSTGUI::getViewController ( const CView *  view,
bool  deep = false 
)
inline

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

CColor VSTGUI::MakeCColor ( uint8_t  red = 0,
uint8_t  green = 0,
uint8_t  blue = 0,
uint8_t  alpha = 255 
)
inline
static bool VSTGUI::parseSize ( const std::string &  str,
CPoint &  point 
)
static

+ Here is the caller graph for this function:

static double VSTGUI::radians ( double  degrees)
inlinestatic

+ Here is the caller graph for this function:

static void VSTGUI::releaseSubController ( IController *  subController)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void VSTGUI::removeChildNode ( UINode *  baseNode,
UTF8StringPtr  nodeName 
)
static

+ Here is the caller graph for this function:

static bool VSTGUI::styleIsInverseStyle ( int32_t  style)
static

+ Here is the caller graph for this function:

static void VSTGUI::unixfyPath ( std::string &  path)
static

Helper function to transform all Windows path separators to unix ones

static bool VSTGUI::viewHasTooltip ( CView *  view)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

CFontDesc gNormalFont("FreeSans", 12)
static
CFontDesc gNormalFontBig("FreeSans", 14)
static
CFontDesc gNormalFontSmall("FreeSans", 11)
static
CFontDesc gNormalFontSmaller("FreeSans", 10)
static
CFontDesc gNormalFontVeryBig("FreeSans", 18)
static
CFontDesc gNormalFontVerySmall("FreeSans", 9)
static
CFontDesc gSymbolFont("Symbol", 13)
static
CFontDesc gSystemFont("FreeSans", 12)
static
const CColor kBlackCColor = CColor ( 0, 0, 0, 255)
const CColor kBlueCColor = CColor ( 0, 0, 255, 255)
CCoord kCheckBoxTitleMargin = 5
static
const float kCKnobRange = 200.f
static
UTF8StringPtr kCopyrightSymbol = "\xC2\xA9"

copyright sign

const CViewAttributeID kCViewAttributeReferencePointer = 'cvrp'
const CViewAttributeID kCViewControllerAttribute = 'ictr'
const CViewAttributeID kCViewTooltipAttribute = 'cvtt'
const CColor kCyanCColor = CColor ( 0, 255, 255, 255)
const CCoord kDefaultOnOffDashLength[] = {1, 1}
static
UTF8StringPtr kDegreeSymbol = "\xC2\xB0"

degree sign

const CColor kGreenCColor = CColor ( 0, 255, 0, 255)
const CColor kGreyCColor = CColor (127, 127, 127, 255)
UTF8StringPtr kInfiniteSymbol = "\xE2\x88\x9E"

infinity

const CLineStyle kLineOnOffDash
const CLineStyle kLineSolid
const CColor kMagentaCColor = CColor (255, 0, 255, 255)
UTF8StringPtr kMicroSymbol = "\xC2\xB5"

micro sign

IdStringPtr kMsgCheckIfViewContainer

Message to check if View is a CViewContainer.

Deprecated:
use dynamic_cast
IdStringPtr kMsgLooseFocus

Message of a view loosing focus (only CTextEdit and COptionMenu send this yet)

IdStringPtr kMsgNewFocusView = "kMsgNewFocusView"

Message send to all parents of the new focus view.

IdStringPtr kMsgOldFocusView = "kMsgOldFocusView"

Message send to all parents of the old focus view.

IdStringPtr kMsgViewSizeChanged = "kMsgViewSizeChanged"

Message send to parent that the size of the view has changed.

const CFontRef kNormalFont = &gNormalFont
const CFontRef kNormalFontBig = &gNormalFontBig
const CFontRef kNormalFontSmall = &gNormalFontSmall
const CFontRef kNormalFontSmaller = &gNormalFontSmaller
const CFontRef kNormalFontVeryBig = &gNormalFontVeryBig
const CFontRef kNormalFontVerySmall = &gNormalFontVerySmall
UTF8StringPtr kPerthousandSymbol = "\xE2\x80\xB0"

per mille sign

const CColor kRedCColor = CColor (255, 0, 0, 255)
UTF8StringPtr kRegisteredSymbol = "\xC2\xAE"

registered sign

const CFontRef kSymbolFont = &gSymbolFont
const CFontRef kSystemFont = &gSystemFont
UTF8StringPtr kTrademarkSymbol = "\xE2\x84\xA2"

trade mark sign

const CColor kTransparentCColor = CColor (255, 255, 255, 0)
const CColor kWhiteCColor = CColor (255, 255, 255, 255)
const CColor kYellowCColor = CColor (255, 255, 0, 255)
const int8_t unixPathSeparator = '/'
static
const int8_t windowsPathSeparator = '\\'
static