Reference for .Net version of SpaceVIL  0.3.5.8
SpaceVIL (Space of Visual Items Layout) is a cross-platform and multilingual framework for creating GUI client applications for .NET Standard, .NET Core and JVM. SpaceVIL is based on OpenGL graphic technology and GLFW. Using this framework in conjunction with .Net Core or with a JVM, you can work and create graphical client applications on Linux, Mac OS X and Windows.
SpaceVIL.Core Namespace Reference

Classes

class  Area
 Area class represents a rectangular region with a specified position. More...
 
class  DropArgs
 A class that describe mouse "drag and drop" input (file system). More...
 
class  Geometry
 Class Geometry describes all geometry properties of the item. More...
 
interface  IBaseItem
 The main interface of SpaceVIL environment. Contains all the necessary methods for rendering objects and interacting with them. Implementations: BaseItem, Prototype, Primitive. More...
 
interface  IBehavior
 An interface that describes the alignment of the item and size policy of the item. This interface is part of SpaceVIL.Core.IBaseItem. More...
 
interface  IDialogItem
 An interface that defines the dialog type of an item. More...
 
interface  IDraggable
 An interface that defines the draggable type of an interactive item (such item can receive EventMouseDrag event). More...
 
interface  IEffect
 An interface that define visual effect that can be attached to an item. More...
 
interface  IEventUpdate
 An interface that describes update events by type of event. This interface is part of SpaceVIL.Core.IBaseItem. More...
 
interface  IFloating
 An interface that describes floating independent type of items. Notice: All floating items render above all others items. More...
 
interface  IFreeLayout
 An interface that defines free type of a container. More...
 
interface  IHLayout
 An interface that defines horizontal type of a container. More...
 
interface  IImageItem
 An interface that discribes such type of items that are images (for texturing). More...
 
interface  IInputEventArgs
 An interface that defines input events arguments. More...
 
interface  IItem
 An interface that describes common item's properties. This interface is part of SpaceVIL.Core.IBaseItem. More...
 
interface  ILines
 An interface that discribes such type of items that are adjacent points are considered lines (for drawing graphs). More...
 
interface  IMovable
 An interface that defines the movable type of an interactive item (such item can receive EventMouseMove event). More...
 
interface  Interface
 Not implemented!!! More...
 
interface  IOpenGLLayer
 Interface for providing OpenGL within SpaceVIL environment. More...
 
interface  IPoints
 An interface that discribes such type of items that are points (for drawing graphs). More...
 
interface  IPosition
 An interface that describes the attributes of the position of a shape. This interface is part of SpaceVIL.Core.IBaseItem. More...
 
interface  ISize
 An interface that describes the attributes of the size of a shape. This interface is part of SpaceVIL.Core.IBaseItem. More...
 
interface  ISubtractFigure
 An interface that describes visual effect which cuts specified shape from original item's shape. More...
 
interface  ITextContainer
 An interface that describes texture for text rendering. More...
 
interface  ITextEditable
 An interface that describes elements containing editable text. More...
 
interface  ITextImage
 An interface that describes text image. More...
 
interface  ITextShortcuts
 An interface that defines items that can receive common keyboard shortcuts (copy, paste, cut and etc.) and describes its attributes. More...
 
interface  ITextWrap
 An interface that defines text items that can wrap text relative to its width and describes its attributes. More...
 
interface  IVLayout
 An interface that defines vertical type of a container. More...
 
interface  IWindowAnchor
 An interface that defines the draggable window type of an item. More...
 
class  KeyArgs
 A class that describes keyboard key input. More...
 
class  MouseArgs
 A class that describes mouse inputs. More...
 
class  Position
 Position is a class representing the location of a 2D coordinate integer point. More...
 
class  Scale
 Scale is a class that describes the scaling factors along the X and Y axes. More...
 
class  Size
 Size is a class that describes the width and height of an object. More...
 
class  SpaceVILException
 SpaceVILException is a class of exceptions of the SpaceVIL. More...
 
class  TextInputArgs
 A class that describe keyboard text typing input. More...
 

Enumerations

enum  MSAA { MSAA.No = 0, MSAA.MSAA2x = 2, MSAA.MSAA4x = 4, MSAA.MSAA8x = 8 }
 Multisample anti-aliasing enum. Values: No, MSAA2x, MSAA4x, MSAA8x. More...
 
enum  OSType { OSType.Windows, OSType.Linux, OSType.Mac }
 Operating system types enum. Values: Windows, Linux, Mac. More...
 
enum  ItemAlignment {
  ItemAlignment.Left = 0x01, ItemAlignment.Top = 0x02, ItemAlignment.Right = 0x04, ItemAlignment.Bottom = 0x08,
  ItemAlignment.HCenter = 0x10, ItemAlignment.VCenter = 0x20
}
 Alignment types enum. Values: Left, Top, Right, Bottom, HCenter, VCenter. More...
 
enum  SizePolicy { SizePolicy.Fixed = 0x01, SizePolicy.Expand = 0x04 }
 Size policy types enum. Values: Fixed, Expand. More...
 
enum  ItemStateType {
  ItemStateType.Base = 0x01, ItemStateType.Hovered = 0x02, ItemStateType.Pressed = 0x04, ItemStateType.Toggled = 0x08,
  ItemStateType.Focused = 0x10, ItemStateType.Disabled = 0x20
}
 Item state types enum. Values: Base, Hovered, Pressed, Toggled, Focused, Disabled. More...
 
enum  Orientation { Orientation.Vertical, Orientation.Horizontal }
 Orientation enum. Used in such items as scroll bars, sliders, wrap grid and etc. Values: Vertical, Horizontal. More...
 
enum  VisibilityPolicy { VisibilityPolicy.Always, VisibilityPolicy.AsNeeded, VisibilityPolicy.Never }
 Visibility types of item enum. Used in such items as scroll bars. Values: Always, AsNeeded, Never. More...
 
enum  ItemHoverRule { ItemHoverRule.Lazy, ItemHoverRule.Strict }
 Item hovering rule types enum. Values: Lazy, Strict. More...
 
enum  EmbeddedFont { EmbeddedFont.Ubuntu }
 Enum of SpaceVIL embedded fonts. More...
 
enum  GeometryEventType {
  GeometryEventType.Focused = 0x01, GeometryEventType.MovedX = 0x02, GeometryEventType.MovedY = 0x04, GeometryEventType.ResizeWidth = 0x08,
  GeometryEventType.ResizeHeight = 0x10
}
 Enum of event types directly related to events that change the size and position of an item. Where Item is class extended from SpaceVIL.Prototype. Values: Focused, MovedX, MovedY, ResizeWidth, ResizeHeight. More...
 
enum  HorizontalDirection { HorizontalDirection.FromLeftToRight, HorizontalDirection.FromRightToLeft }
 Enum of types of horizontal directions. Values: FromLeftToRight, FromRightToLeft. More...
 
enum  InputEventType {
  InputEventType.FocusGet = 0x01, InputEventType.FocusLost = 0x02, InputEventType.Resized = 0x04, InputEventType.Destroy = 0x08,
  InputEventType.ValueChanged = 0x10, InputEventType.SelectionChanged = 0x20, InputEventType.IndexChanged = 0x40, InputEventType.MouseMove = 0x80,
  InputEventType.MouseHover = 0x400000, InputEventType.MouseLeave = 0x4000000, InputEventType.MouseDrag = 0x800000, InputEventType.MousePress = 0x100,
  InputEventType.MouseRelease = 0x200, InputEventType.MouseDoubleClick = 0x1000000, InputEventType.MouseScroll = 0x400, InputEventType.KeyPress = 0x800,
  InputEventType.KeyRepeat = 0x1000, InputEventType.KeyRelease = 0x2000, InputEventType.TextInput = 0x200000, InputEventType.WindowResize = 0x4000,
  InputEventType.WindowMove = 0x8000, InputEventType.WindowMinimize = 0x10000, InputEventType.WindowRestore = 0x20000, InputEventType.WindowClose = 0x40000,
  InputEventType.WindowGetFocus = 0x80000, InputEventType.WindowLostFocus = 0x100000, InputEventType.WindowDrop = 0x2000000, InputEventType.WindowMaximize = 0x4000000
}
 Enums of types of input events. More...
 
enum  InputState { InputState.Release = 0, InputState.Press = 1, InputState.Repeat = 2 }
 Enum of types of input conditions. Values: Release, Press, Repeat. More...
 
enum  KeyCode {
  KeyCode.Unknown = -1, KeyCode.Space = 32, KeyCode.Apostrophe = 39, KeyCode.Comma = 44,
  KeyCode.Minus = 45, KeyCode.Period = 46, KeyCode.Slash = 47, KeyCode.Alpha0 = 48,
  KeyCode.Alpha1 = 49, KeyCode.Alpha2 = 50, KeyCode.Alpha3 = 51, KeyCode.Alpha4 = 52,
  KeyCode.Alpha5 = 53, KeyCode.Alpha6 = 54, KeyCode.Alpha7 = 55, KeyCode.Alpha8 = 56,
  KeyCode.Alpha9 = 57, KeyCode.SemiColon = 59, KeyCode.Equal = 61, KeyCode.A = 65,
  KeyCode.B = 66, KeyCode.C = 67, KeyCode.D = 68, KeyCode.E = 69,
  KeyCode.F = 70, KeyCode.G = 71, KeyCode.H = 72, KeyCode.I = 73,
  KeyCode.J = 74, KeyCode.K = 75, KeyCode.L = 76, KeyCode.M = 77,
  KeyCode.N = 78, KeyCode.O = 79, KeyCode.P = 80, KeyCode.Q = 81,
  KeyCode.R = 82, KeyCode.S = 83, KeyCode.T = 84, KeyCode.U = 85,
  KeyCode.V = 86, KeyCode.W = 87, KeyCode.X = 88, KeyCode.Y = 89,
  KeyCode.Z = 90, KeyCode.a = 97, KeyCode.b = 98, KeyCode.c = 99,
  KeyCode.d = 100, KeyCode.e = 101, KeyCode.f = 102, KeyCode.g = 103,
  KeyCode.h = 104, KeyCode.i = 105, KeyCode.j = 106, KeyCode.k = 107,
  KeyCode.l = 108, KeyCode.m = 109, KeyCode.n = 110, KeyCode.o = 111,
  KeyCode.p = 112, KeyCode.q = 113, KeyCode.r = 114, KeyCode.s = 115,
  KeyCode.t = 116, KeyCode.u = 117, KeyCode.v = 118, KeyCode.w = 119,
  KeyCode.x = 120, KeyCode.y = 121, KeyCode.z = 122, KeyCode.LeftBracket = 91,
  KeyCode.Backslash = 92, KeyCode.RightBracket = 93, KeyCode.GraveAccent = 96, KeyCode.World1 = 161,
  KeyCode.World2 = 162, KeyCode.Escape = 256, KeyCode.Enter = 257, KeyCode.Tab = 258,
  KeyCode.Backspace = 259, KeyCode.Insert = 260, KeyCode.Delete = 261, KeyCode.Right = 262,
  KeyCode.Left = 263, KeyCode.Down = 264, KeyCode.Up = 265, KeyCode.PageUp = 266,
  KeyCode.PageDown = 267, KeyCode.Home = 268, KeyCode.End = 269, KeyCode.CapsLock = 280,
  KeyCode.ScrollLock = 281, KeyCode.NumLock = 282, KeyCode.PrintScreen = 283, KeyCode.Pause = 284,
  KeyCode.F1 = 290, KeyCode.F2 = 291, KeyCode.F3 = 292, KeyCode.F4 = 293,
  KeyCode.F5 = 294, KeyCode.F6 = 295, KeyCode.F7 = 296, KeyCode.F8 = 297,
  KeyCode.F9 = 298, KeyCode.F10 = 299, KeyCode.F11 = 300, KeyCode.F12 = 301,
  KeyCode.F13 = 302, KeyCode.F14 = 303, KeyCode.F15 = 304, KeyCode.F16 = 305,
  KeyCode.F17 = 306, KeyCode.F18 = 307, KeyCode.F19 = 308, KeyCode.F20 = 309,
  KeyCode.F21 = 310, KeyCode.F22 = 311, KeyCode.F23 = 312, KeyCode.F24 = 313,
  KeyCode.F25 = 314, KeyCode.Numpad0 = 320, KeyCode.Numpad1 = 321, KeyCode.Numpad2 = 322,
  KeyCode.Numpad3 = 323, KeyCode.Numpad4 = 324, KeyCode.Numpad5 = 325, KeyCode.Numpad6 = 326,
  KeyCode.Numpad7 = 327, KeyCode.Numpad8 = 328, KeyCode.Numpad9 = 329, KeyCode.NumpadDecimal = 330,
  KeyCode.NumpadDivide = 331, KeyCode.NumpadMultiply = 332, KeyCode.NumpadSubtract = 333, KeyCode.NumpadAdd = 334,
  KeyCode.NumpadEnter = 335, KeyCode.NumpadEqual = 336, KeyCode.LeftShift = 340, KeyCode.LeftControl = 341,
  KeyCode.LeftAlt = 342, KeyCode.LeftSuper = 343, KeyCode.RightShift = 344, KeyCode.RightControl = 345,
  KeyCode.RightAlt = 346, KeyCode.RightSuper = 347, KeyCode.Menu = 348
}
 Enum of key codes of keyboard. More...
 
enum  KeyMods { KeyMods.Shift = 0x0001, KeyMods.Control = 0x0002, KeyMods.Alt = 0x0004, KeyMods.Super = 0x0008 }
 Enum of keyboard modifiers. More...
 
enum  MouseButton {
  MouseButton.Unknown = -1, MouseButton.ButtonLeft = 0, MouseButton.ButtonRight = 1, MouseButton.ButtonMiddle = 2,
  MouseButton.Button4 = 3, MouseButton.Button5 = 4, MouseButton.Button6 = 5, MouseButton.Button7 = 6,
  MouseButton.Button8 = 7
}
 Enum of button codes of mouse. More...
 
enum  LayoutType { LayoutType.Static, LayoutType.Floating, LayoutType.Dialog }
 Enum of items types. Values: Static, Floating, Dialog. More...
 
enum  TreeItemType { TreeItemType.Leaf, TreeItemType.Branch }
 Enum of types of TreeItems. Used in TreeView and TreeItem. More...
 
enum  EmbeddedImage {
  EmbeddedImage.Add, EmbeddedImage.ArrowLeft, EmbeddedImage.ArrowUp, EmbeddedImage.Eye,
  EmbeddedImage.File, EmbeddedImage.Folder, EmbeddedImage.FolderPlus, EmbeddedImage.Gear,
  EmbeddedImage.Import, EmbeddedImage.Lines, EmbeddedImage.Loupe, EmbeddedImage.RecycleBin,
  EmbeddedImage.Refresh, EmbeddedImage.Pencil, EmbeddedImage.Diskette, EmbeddedImage.Eraser,
  EmbeddedImage.Home, EmbeddedImage.User, EmbeddedImage.Drive, EmbeddedImage.Filter,
  EmbeddedImage.LoadCircle
}
 Enum of SpaceVIL embedded images. More...
 
enum  EmbeddedImageSize { EmbeddedImageSize.Size32x32, EmbeddedImageSize.Size64x64 }
 Enum of SpaceVIL embedded images sizes. More...
 
enum  FileSystemEntryType { FileSystemEntryType.File, FileSystemEntryType.Directory }
 Enum of file system entry types. Values: File, Directory. More...
 
enum  OpenDialogType { OpenDialogType.Open, OpenDialogType.Save }
 Enum of open dialog types. Values: Open, Save. More...
 
enum  Side { Side.Left = 0x01, Side.Top = 0x02, Side.Right = 0x04, Side.Bottom = 0x08 }
 Enum of types of sides. Values: Left, Top, Right, Bottom. More...
 
enum  RedrawFrequency {
  RedrawFrequency.VeryLow, RedrawFrequency.Low, RedrawFrequency.Medium, RedrawFrequency.High,
  RedrawFrequency.Ultra
}
 Enum of types of frequencies for redraw. Values: VeryLow, Low, Medium, High, Ultra. More...
 
enum  EmbeddedCursor {
  EmbeddedCursor.Arrow = 0x00036001, EmbeddedCursor.IBeam = 0x00036002, EmbeddedCursor.Crosshair = 0x00036003, EmbeddedCursor.Hand = 0x00036004,
  EmbeddedCursor.ResizeX = 0x00036005, EmbeddedCursor.ResizeY = 0x00036006, EmbeddedCursor.ResizeXY = 0x00036007
}
 Enum of types of embedded mouse cursors. Values: Arrow, IBeam, Crosshair, Hand, ResizeX, ResizeY, ResizeXY. More...
 
enum  RenderType { RenderType.IfNeeded, RenderType.Periodic, RenderType.Always }
 Enum of types render. Values: IfNeeded, Periodic, Always. More...
 

Enumeration Type Documentation

◆ EmbeddedCursor

Enum of types of embedded mouse cursors. Values: Arrow, IBeam, Crosshair, Hand, ResizeX, ResizeY, ResizeXY.

Enumerator
Arrow 
IBeam 
Crosshair 
Hand 
ResizeX 
ResizeY 
ResizeXY 

◆ EmbeddedFont

Enum of SpaceVIL embedded fonts.

Enumerator
Ubuntu 

◆ EmbeddedImage

Enum of SpaceVIL embedded images.

Enumerator
Add 
ArrowLeft 
ArrowUp 
Eye 
File 
Folder 
FolderPlus 
Gear 
Import 
Lines 
Loupe 
RecycleBin 
Refresh 
Pencil 
Diskette 
Eraser 
Home 
User 
Drive 
Filter 
LoadCircle 

◆ EmbeddedImageSize

Enum of SpaceVIL embedded images sizes.

Enumerator
Size32x32 
Size64x64 

◆ FileSystemEntryType

Enum of file system entry types. Values: File, Directory.

Enumerator
File 
Directory 

◆ GeometryEventType

Enum of event types directly related to events that change the size and position of an item. Where Item is class extended from SpaceVIL.Prototype. Values: Focused, MovedX, MovedY, ResizeWidth, ResizeHeight.

Enumerator
Focused 
MovedX 
MovedY 
ResizeWidth 
ResizeHeight 

◆ HorizontalDirection

Enum of types of horizontal directions. Values: FromLeftToRight, FromRightToLeft.

Enumerator
FromLeftToRight 
FromRightToLeft 

◆ InputEventType

Enums of types of input events.

Enumerator
FocusGet 
FocusLost 
Resized 
Destroy 
ValueChanged 
SelectionChanged 
IndexChanged 
MouseMove 
MouseHover 
MouseLeave 
MouseDrag 
MousePress 
MouseRelease 
MouseDoubleClick 
MouseScroll 
KeyPress 
KeyRepeat 
KeyRelease 
TextInput 
WindowResize 
WindowMove 
WindowMinimize 
WindowRestore 
WindowClose 
WindowGetFocus 
WindowLostFocus 
WindowDrop 
WindowMaximize 

◆ InputState

Enum of types of input conditions. Values: Release, Press, Repeat.

Enumerator
Release 
Press 
Repeat 

◆ ItemAlignment

Alignment types enum. Values: Left, Top, Right, Bottom, HCenter, VCenter.

Enumerator
Left 
Top 
Right 
Bottom 
HCenter 
VCenter 

◆ ItemHoverRule

Item hovering rule types enum. Values: Lazy, Strict.

Enumerator
Lazy 

Hover function will return True if mouse cursor located inside rectangle area of its shape even if shape is not a rectangle.

Example: Function will return True If shape is triangle and mouse cursor located outside this triangle, but inside rectangle area that bounds this triangle.

Strict 

Hover function will return True only if mouse cursor located inside the shape of the item.

◆ ItemStateType

Item state types enum. Values: Base, Hovered, Pressed, Toggled, Focused, Disabled.

Enumerator
Base 

Base static item's condition.

Where Item is class extended from SpaceVIL.Prototype.

Hovered 

Item's condition when mouse cursor inside items area.

Where Item is class extended from SpaceVIL.Prototype.

Pressed 

Item's condition when mouse cursor inside items area and any mouse button is pressed.

Where Item is class extended from SpaceVIL.Prototype.

Toggled 

Item's condition when it is toggled.

Where Item is class extended from SpaceVIL.Prototype.

Focused 

Item's condition when it is focused.

Where Item is class extended from SpaceVIL.Prototype.

Disabled 

Item's condition when it is disabled.

Where Item is class extended from SpaceVIL.Prototype.

◆ KeyCode

enum SpaceVIL.Core.KeyCode
strong

Enum of key codes of keyboard.

Enumerator
Unknown 
Space 
Apostrophe 
Comma 
Minus 
Period 
Slash 
Alpha0 
Alpha1 
Alpha2 
Alpha3 
Alpha4 
Alpha5 
Alpha6 
Alpha7 
Alpha8 
Alpha9 
SemiColon 
Equal 
LeftBracket 
Backslash 
RightBracket 
GraveAccent 
World1 
World2 
Escape 
Enter 
Tab 
Backspace 
Insert 
Delete 
Right 
Left 
Down 
Up 
PageUp 
PageDown 
Home 
End 
CapsLock 
ScrollLock 
NumLock 
PrintScreen 
Pause 
F1 
F2 
F3 
F4 
F5 
F6 
F7 
F8 
F9 
F10 
F11 
F12 
F13 
F14 
F15 
F16 
F17 
F18 
F19 
F20 
F21 
F22 
F23 
F24 
F25 
Numpad0 
Numpad1 
Numpad2 
Numpad3 
Numpad4 
Numpad5 
Numpad6 
Numpad7 
Numpad8 
Numpad9 
NumpadDecimal 
NumpadDivide 
NumpadMultiply 
NumpadSubtract 
NumpadAdd 
NumpadEnter 
NumpadEqual 
LeftShift 
LeftControl 
LeftAlt 
LeftSuper 
RightShift 
RightControl 
RightAlt 
RightSuper 
Menu 

◆ KeyMods

enum SpaceVIL.Core.KeyMods
strong

Enum of keyboard modifiers.

Enumerator
Shift 
Control 
Alt 
Super 

Can be Windows key (in WinOS), Command key (in MacOS)

◆ LayoutType

Enum of items types. Values: Static, Floating, Dialog.

Enumerator
Static 

Items whose parent LayoutType is Static.

Floating 

Items whose root parent LayoutType is Floating.

Dialog 

Items whose root parent LayoutType is Dialog.

◆ MouseButton

Enum of button codes of mouse.

Enumerator
Unknown 
ButtonLeft 
ButtonRight 
ButtonMiddle 
Button4 
Button5 
Button6 
Button7 
Button8 

◆ MSAA

enum SpaceVIL.Core.MSAA
strong

Multisample anti-aliasing enum. Values: No, MSAA2x, MSAA4x, MSAA8x.

Enumerator
No 
MSAA2x 
MSAA4x 
MSAA8x 

◆ OpenDialogType

Enum of open dialog types. Values: Open, Save.

Enumerator
Open 
Save 

◆ Orientation

Orientation enum. Used in such items as scroll bars, sliders, wrap grid and etc. Values: Vertical, Horizontal.

Enumerator
Vertical 
Horizontal 

◆ OSType

enum SpaceVIL.Core.OSType
strong

Operating system types enum. Values: Windows, Linux, Mac.

Enumerator
Windows 
Linux 
Mac 

◆ RedrawFrequency

Enum of types of frequencies for redraw. Values: VeryLow, Low, Medium, High, Ultra.

Enumerator
VeryLow 
Low 
Medium 
High 
Ultra 

◆ RenderType

Enum of types render. Values: IfNeeded, Periodic, Always.

Enumerator
IfNeeded 

The scene is redrawn only if any input event occurs (mouse move, mouse click, keyboard key press, window resizing and etc.).

Periodic 

The scene is redrawn according to the current render frequency type (See SetRenderFrequency(type)) in idle and every time when any input event occurs.

Always 

The scene is constantly being redrawn.

◆ Side

enum SpaceVIL.Core.Side
strong

Enum of types of sides. Values: Left, Top, Right, Bottom.

Enumerator
Left 
Top 
Right 
Bottom 

◆ SizePolicy

Size policy types enum. Values: Fixed, Expand.

Enumerator
Fixed 

Size is fixed and cannot be changed.

Expand 

The form will be stretched inside the container to all available space.

◆ TreeItemType

Enum of types of TreeItems. Used in TreeView and TreeItem.

Enumerator
Leaf 
Branch 

◆ VisibilityPolicy

Visibility types of item enum. Used in such items as scroll bars. Values: Always, AsNeeded, Never.

Enumerator
Always 

Item is always visible.

AsNeeded 

Item can be visible in some circumstances.

Never 

Item is always invisible.