Welcome Guest, you are in: Login

EventIDE Wiki

RSSRSS

Navigation




Search the wiki


PoweredBy

Page History: Built-in data types

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: 2012/02/01 17:35


Custom data types
Info
Category: Programming |
Role:

EventIDE provides several built-in data types that are used for element properties. The built-in types are also available for coding in the snippets and developing the custom AddIns. The built-in types are not classes but .NET values types - it means they assign directly and don't need construction and disposing like classes. On this page all built-in EventIDE types are listed with complete descriptions and code examples.


stColor type

stColor is a data type for managing colors in EventIDE. stColor is a data struct that stores a single 32-bits ARGB value.

Fields

stColor struct contains the following fields:

Field NameDescriptionValue Type
.ADefines a value for the Alpha channel (transparency). The valid range is 0..255.Int32
.RDefines a value for the Red channel. The valid range is 0..255.Int32
.GDefines a value for the Green channel. The valid range is 0..255.Int32
.BDefines a value for the Blue channel. The valid range is 0..255.Int32
.HueDefines the color hue in HSB/HSV color space. The value has to be in the range 0..360. If the Saturation and Brightness have extreme values(e.g. 0 or 100) changes in the Hue field are ignored Double
.SaturationDefines the color saturation in HSB/HSV color space The value has to be in the range 0..100 Double
.BrightnessDefines the color saturation in HSB/HSV color space The value has to be in the range 0..100 Double
.ColorRepresents the current value as System.Windows.Media.Color type System.Windows.Media.Color
.GDIColorRepresents the current value as GDI+System.Drawing.Color type System.Drawing.Color

GUI type editor

stColor data type underlies a majority of color properties in EventIDE objects. The program provides an dedicated editor for stColor values.
Screenshot of the stColor GUI editor

Screenshot of the stColor GUI editor


Code examples

 
// Declaration and initialization 

// declare a new stColor and initialize its value to the green
stColor MyColor=new stColor();
MyColor.A=255;
MyColor.R=0;
MyColor.G=255;
MyColor.B=0;

// declare and initialize with the green color with an optional stColor constructors
stColor MyColor2=new stColor(0,255,0); 
stColor MyColor3=new stColor(255,0,255,0); 

// declare and initialize the blue color with functions and constants of GDI+ API
stColor MyColor3.GDIColor=Color.FromArgb(255,0,0,255);
stColor MyColor4.GDIColor=Color.Blue; 


// using stColor type in GDI+ drawing procedures
stColor RedColor=new stColor(127,0,0); 
Pen BluePen = new Pen(RedColor.GDIColor, 3);
Graphics.DrawRectangle(BluePen, 0,0,50,50);


// Change values of proxy variables of stColor type
BackgroundColor=new stColor(255,255,255); // set the event background to white 
TextColor.R=127;
TextColor.G=127;
TextColor.B=127; // set the font color of the Text Element to the mid-gray


// The following examples cause runtime errors because the field values have to be integers in the range 0..255
stColor MyColor=new stColor(0,256,0);  
stColor MyColor2;
MyColor2.R=-20;

clPoint

clPoint is a data type for managing screen positions in EventIDE. clPoint is a data struct that stores a 2D screen position and represents it both in cartesian (units: pixels) and polar coordinates (units: visual and angular degrees). The conversion between pixels and visual degrees values is calculated according to the current screen settings of the experiment.

Fields

clPoint struct contains the following fields:

Field NameDescriptionValue Type
.XDefines the X-Axis value (in pixels) relatively to left-top corner of the screen(). Int32
.YDefines the Y-Axis value (in pixels) relatively to left-top corner of the screen. Int32
.RDefines a distance (in visual degrees) between the given point and the screen center,as the radius in the polar coordinate system. The exact pixels/visual degree conversion depends on chosen screen settings for each experiment.float/Single
.ThetaDefines a polar angle (in degrees) to the given point from the screen center, as azimuth in the polar coordinate system. The angles (0..360) are counted from the right arm of the horizontal axis in the anticlockwise direction.float/Single
.IsNotDefinedFor internal use. If true, indicates an invalid screen point. The fields of the invalid screen point can not be accessed.boolean

GUI type editor

clPoint data type underlies a majority of coordinates properties in EventIDE objects. The program provides an dedicated editor for clPoint values.
Screenshot of the clPoint GUI editor

Screenshot of the clPoint GUI editor


 
// declare and initialize clPoint type
clPoint MyPoint=new clPoint(); // the point is declared and initialized. The point is valid. 
clPoint MyPoint2=new clPoint(100,100); // the point is declared and initialized with particular pixel coordinates 
clPoint MyPoint3=new clPoint(4.0f,45.0f); // the point is declared and initialized with the polar coordinates 4,45


// Change values of proxy variables of clPoint type
Position=new clPoint(512,368); // set the position of Renderer element to the screen center (for 1024x768 resolution) 
TextPosition.R=5;
TextPosition.Theta=90; // set the position of Text Element on 5 visual degree up from the screen center (in any screen resolution)

clSize

clSize is a data type for managing screen sizes in EventIDE. clSize is a struct that stores a size of 2D area and represents it both in screen pixels and visual degrees. The conversion between pixels and visual degrees is calculated according to the current screen settings of the experiment.

Fields

clPoint struct contains the following fields:

Field NameDescriptionValue Type
.WidthDefines the width in pixels. Int32
.HeightDefines the height in pixels. Int32
.aWidthDefines the width in visual degrees.float/Single
.aHeightDefines the height in visual degrees.float/Single
.IsProportionalIf true, any change in the width or height is accompanied by a automatic change in the second dimension such that the whole area keeps its proportions.boolean

GUI type editor

clSize data type underlies a majority of size related properties in EventIDE objects. The program provides an dedicated editor for clSize values.
Screenshot of the clPoint GUI editor

Screenshot of the clPoint GUI editor


 // Check the trial outcome. Result and RT just other user variables
// insert code snippet here..

Enum Types

=== stAlignment ==
 // Check the trial outcome. Result and RT just other user variables
// insert code snippet here..

 // Check the trial outcome. Result and RT just other user variables
// insert code snippet here..

Final Notes

Insert Notes here..

ScrewTurn Wiki version 5.2.0.8. Some of the icons created by FamFamFam.