Incari Studio
2023.2
2023.2
  • Incari HMI Development Platform
  • Getting Started
    • Overview
    • Requirements
    • What's New
    • Installation
    • First Steps
      • Incari Hub
      • Creating a Project
      • Incari Studio
  • Objects and Types
    • Overview
    • Project Objects
      • Scene
      • Scene2D
      • Screen
      • HMD
    • Scene Objects
      • Audio
      • Camera
      • Group
      • Image Sequence Sprite
      • Label
      • Light
      • List
      • Lottie Sprite
      • Mesh
      • On-Screen Keyboard
      • Overlay
      • Primitives
      • Sprite
      • Text
      • Vector
      • Video
      • Web Sprite
    • Scene2D Objects
      • Camera
      • Frame
      • GUI
        • Button
        • Dropdown
        • List
        • Slider
        • Text Area
        • Text Input
        • Toggle
      • Group
      • Image
      • Vector
        • Boolean Operation
        • Ellipse
        • Line
        • Rectangle
        • Text
      • Vector (old)
    • Prefabs
      • Creating and Using Prefabs
        • Prefabs in Scenes
        • Prefabs in Scene2Ds
      • Logic in Prefabs
      • Nested Prefabs
    • Attributes
      • Attribute Types
        • Asset/Object Attribute
        • Boolean Attribute
        • Color Attribute
        • Numerical Attribute
      • Common Attributes
        • Object
        • Sprite
        • Transformation
          • Global Transformations
          • Local Transformations
        • Tag
    • Data Types
      • Bool
      • Byte
      • Float
      • Int
      • String
      • Vector2
      • Vector3
      • Vector4
    • Terminology
  • Modules
    • Overview
    • Animation Editor
    • Asset Database
    • Asset Manager
    • Attribute Editor
    • Code Editor
    • Console
    • Exporter
    • Figma Importer
      • Current Limitations
    • Image Sequence Editor
    • Logic Editor
      • AI Logic Generation
    • Global Preferences
    • Material Editor
      • Car Paint Model
      • Custom Shading Model
      • Phong Model
      • Glass Model
      • Extended PBR Model
      • PBR Model
      • Shadeless Model
    • Model Editor
    • Plugins
      • Communication
        • Bluetooth
        • MAVLink
        • Serial
        • Socket.IO
        • TCP
        • UDP
        • WebSocket
    • Profiler View
    • Project Outliner
    • Project Settings
      • CAN
      • Fonts
      • HTTP
      • Keyboard
      • MAVLink
      • MQTT
      • Profiler
      • Scene Separation
      • Serial
      • Socket.IO
      • Styles
      • TCP
      • UDP
      • WebSocket
    • Scene Outliner
  • Toolbox
    • Overview
    • Actions
      • Delay Action
      • FadeFromTo Action
      • FadeTo Action
      • MoveBy Action
      • MoveTo Action
      • RotateBy Action
      • RotateTo Action
      • RotateFromTo Action
      • ScaleBy Action
      • ScaleTo Action
    • Array
      • Array Value
      • Clear Array
      • Concat Arrays
      • Get Array Element
      • Insert Array Element
      • Length of Array
      • Pop Array Element
      • Push Array Element
      • Remove Array Element
      • Set Array Element
    • Binary
      • Binary Value
      • Binary to Byte Array
      • Concat Binaries
      • Verify Checksum
    • Communication
      • Bluetooth
        • Events
          • On Bluetooth Device Paired
          • On Bluetooth Device Unpaired
        • Is Bluetooth Device Paired
        • Pair Bluetooth Device
        • Retrieve Call History
        • Retrieve Phonebook
        • Scan For Bluetooth Devices
        • Unpair Bluetooth Device
      • CAN
        • CAN Send Packet
        • CAN Start
        • CAN Stop
        • Events
          • On CAN Packet Received
          • On CAN Start
          • On CAN Stop
      • HTTP
        • Events
          • On HTTP Route
          • On HTTP Server Start
          • On HTTP Server Stop
        • HTTP Client
        • HTTP Response
        • HTTP Server Start
        • HTTP Server Stop
      • MAVLink
        • Events
          • On MAVLink Packet Received
          • On MAVLink Start
          • On MAVLink Stop
        • MAVLink Decode
        • MAVLink Start
        • MAVLink Stop
      • MQTT
        • Events
          • On MQTT Start
          • On MQTT Stop
          • On MQTT Topic
        • MQTT Publish
        • MQTT Start
        • MQTT Stop
        • MQTT Subscribe
      • Serial
        • Events
          • On Serial Error
          • On Serial Packet Receive
          • On Serial Start
          • On Serial Stop
        • Serial Send Packet
        • Serial Start
        • Serial Stop
      • Socket.IO
        • Events
          • On Socket.IO Error
          • On Socket.IO Receive
          • On Socket.IO Start
          • On Socket.IO Stop
        • Socket.IO Send
        • Socket.IO Start
        • Socket.IO Stop
        • Socket.IO Subscribe
        • Socket.IO Unsubscribe
      • TCP
        • Events
          • On TCP Error
          • On TCP Packet Receive
          • On TCP Start
          • On TCP Stop
        • TCP Send
        • TCP Start
        • TCP Stop
      • UDP
        • Events
          • On UDP Error
          • On UDP Packet Receive
          • On UDP Start
          • On UDP Stop
        • UDP Send
        • UDP Start
        • UDP Stop
      • WebSocket
        • Events
          • On WebSocket Error
          • On WebSocket Receive
          • On WebSocket Start
          • On Websocket Stop
        • WebSocket Client Send
        • WebSocket Client Start
        • WebSocket Client Stop
    • DateTime
      • Date Time Formatter
      • Now (UTC)
      • System Time
      • Timezone Value
    • Development
      • Assert
      • Benchmark Get
      • Benchmark Start
      • Benchmark Stop
      • Clear Console
      • Console
      • Profiler Start
      • Profiler Stop
    • Dictionary
      • Clear Dictionary
      • Dictionary Value
      • Erase Dictionary Element
      • Get Dictionary Element
      • Get Dictionary Keys
      • Get Dictionary Values
      • Merge Dictionaries
      • Set Dictionary Element
      • Size of Dictionary
    • Events
      • Custom
        • Event Listener
        • Event Trigger
      • Gestures
        • On Swipe
        • On Tap
      • ImageSequence
        • On ImageSequence Frame Changed
        • On ImageSequence Pause
        • On ImageSequence Play
        • On ImageSequence Stop
      • Input
        • On Text Change
      • Keyboard
        • On Key Press
        • On Key Release
      • Leap Motion
        • On Leap Motion Frame Update
        • On Leap Motion Grab End
        • On Leap Motion Grab Start
        • On Leap Motion Grab Update
        • On Leap Motion Pinch End
        • On Leap Motion Pinch Start
        • On Leap Motion Pinch Update
        • On Leap Motion Swipe Left
        • On Leap Motion Swipe Right
        • XR Position
      • List
        • On List Current Index Change
        • On List Entry Select
        • On List Load
      • List 2D
        • On List Active Index Change
      • Lottie
        • On Lottie Finish
        • On Lottie Pause
        • On Lottie Play
        • On Lottie Stop
      • Media
        • On Media Finish
        • On Media Play
      • Mouse
        • Get Mouse Position
        • Get Mouse Position Delta
        • On Hover Enter
        • On Hover Leave
        • On Mouse Button Down
        • On Mouse Button Up
        • On Mouse Click
        • On Mouse Double Click
        • On Mouse Enter
        • On Mouse Leave
        • On Mouse Move
        • On Mouse Scroll
      • Object
        • On Alpha Change
        • On CheckBox Value Change
        • On Dropdown Active Value Change
        • On Opacity Change
        • On Position Change
        • On Rotation Change
        • On Scale Change
        • On Slider Value Change
        • On Visibility Change
      • On-Screen Keyboard
        • On On-Screen Keyboard Arrow Down Pressed
        • On On-Screen Keyboard Arrow Up Pressed
        • On On-Screen Keyboard Enter Pressed
        • On On-Screen Keyboard Input Changed
        • On On-Screen Keyboard Key Pressed
      • Scene
        • On Scene Loaded
      • Unsubscribe
      • Screen
        • On Screen Scene Change
      • Variables
        • On Variable Change
        • On Variable Set
      • Web
        • On JavaScript Callback
      • WebSprite
        • On WebSprite Load
        • On WebSprite Remote URL Change
    • Flow Control
      • Branch
      • For Each Loop
      • For Loop
      • Index Switch
      • Is Equal
      • Is Greater Equal
      • Is Less Equal
      • Select Data
      • Sequential
      • Switch
      • Toggle
    • Functions
      • Function
        • Function Input
        • Function Output
    • IO
      • Create File
      • Get Current Directory
      • Get File Extension
      • List Directory Content
      • Load File
      • Remove
      • Save File
      • Set Current Directory
    • Incari
      • Animation
        • Pause Animation
        • Play Animation
        • Stop Animation
      • Asset
        • Add to Asset Database
        • Remove from Asset Database
      • Camera
        • Get Active Camera
        • Get All Cameras
        • Set Active Camera
      • ImageSequence
        • Get Current ImageSequence Frame
        • Get ImageSequence Duration
        • Get ImageSequence FPS
        • Get ImageSequence Total Frames
        • Go To Next ImageSequence Frame
        • Go To Previous ImageSequence Frame
        • Pause ImageSequence
        • Play ImageSequence
        • Resume ImageSequence
        • Show ImageSequence Frame
        • Stop ImageSequence
      • List
        • Generate List
        • Get Selected Item
        • Next List Entry
        • Previous List Entry
        • Select List Entry
        • Set Active
        • Set Current Index
      • List 2D
        • Add List Element
        • Get Active Index
        • Get List Data
        • Get List Element
        • Insert List Element
        • Remove List Element
        • Set Active Index
        • Set List Data
        • Set List Element
      • Lottie
        • Pause Lottie
        • Play Lottie
        • Stop Lottie
      • Material
        • Get Material Property
        • Set Material Property
      • Media
        • Get Media
        • Get Media Length
        • Get Media Loop
        • Get Media Progress
        • Get Volume
        • Is Media Playing
        • Pause Media
        • Play Media
        • Set Media
        • Set Media Loop
        • Set Media Progress
        • Set Volume
        • Stop Media
      • Object
        • Add Tag
        • Destroy Object
        • Get Active Dropdown Value
        • Get Alpha
        • Get CSS Property
        • Get CheckBox Value
        • Get Children
        • Get Dropdown Options
        • Get Material
        • Get Name
        • Get Objects By Tag
        • Get Opacity
        • Get Parent
        • Get Position
        • Get Root
        • Get Rotation
        • Get Scale
        • Get Size
        • Get Slider Value
        • Get Sort Index
        • Get Tag
        • Get Text
        • Get Text Color
        • Get Tint
        • Get Visibility
        • Has Children
        • Instantiate Object
        • On List Item Clicked
        • Remove Tag
        • Set Active Dropdown Index
        • Set Active Dropdown Value
        • Set Alpha
        • Set CSS Property
        • Set CheckBox Value
        • Set Dropdown Options
        • Set Mask
        • Set Material
        • Set Opacity
        • Set Position
        • Set Rotation
        • Set Scale
        • Set Size
        • Set Slider Value
        • Set Sort Index
        • Set Stylesheet
        • Set Text
        • Set Text Color
        • Set Texture
        • Set Tint
        • Set Visibility
        • Use Mask
      • Object 2D
        • Add CSS Class Name
        • Get CSS Class Names
        • Get Paint
        • Get Paint Opacity
        • Get Stroke Width
        • Remove CSS Class Name
        • Set Blend Mode
        • Set CSS Class Names
        • Set Paint
        • Set Paint Opacity
        • Set Stroke Width
      • On-Screen Keyboard
        • Get Screen Keyboard Layout
        • On-Screen Keyboard Clear Input
        • On-Screen Keyboard Get Input
        • On-Screen Keyboard Move Selection
        • On-Screen Keyboard Press Button
        • Set Screen Keyboard Layout
      • Scene 2D
        • Get Stylesheet
        • Merge To Stylesheet
        • Set Stylesheet
      • This Scene
      • Ultrahaptics
        • Ultrahaptics Play
        • Ultrahaptics Stop
      • Scenes
        • Scene
      • Screen
        • Get Scene
        • Load Scene
        • Set Background
        • Set Scene
        • Unload Scene
      • Screens
        • Screen
      • Vector
        • Arc
          • Get ArcEnd
          • Get ArcStart
          • Set ArcEnd
          • Set ArcStart
        • Get BackgroundColor
        • Get FillColor
        • Get StrokeWidth
        • Label
          • Get LabelText
        • Line
          • Get LineWidth
          • Set LineWidth
        • Pie
          • Get PieEnd
          • Get PieStart
          • Set PieEnd
          • Set PieStart
        • Rectangle
          • Get RectangleCorners
          • Set RectangleCorners
        • Set BackgroundColor
        • Set FillColor
        • Set StrokeWidth
      • WebSprite
        • Get Remote URL
        • Set Remote URL
        • Web Sprite Reload
    • Math
      • Absolute
      • Add
      • Average
      • Boolean
        • AND
        • Bool Value
        • Negate
        • OR
      • Ceil
      • Clamp
      • Decrement
      • Divide
      • Floor
      • Increment
      • Interpolate
      • Logarithm
      • Math Constant
      • Maximum
      • Minimum
      • Modulo
      • Multiply
      • Numerical Value
      • Power
      • Random
      • Range Mapper
      • Root
      • Rotation Matrix
      • Round
      • Subtract
      • Trigonometry
        • Arc Cosine
        • Arc Sine
        • Arc Tangent
        • Arc Tangent 2
        • Cosine
        • Radian-Degree Converter
        • Sine
        • Tangent
      • Vector Value
    • Plugins
      • (JSON) Scale Vector
    • Prefab
      • This Prefab
    • String
      • Capitalize
      • CharCodeAt
      • Compare
      • Concat Strings
      • Contains
      • CryptoHash
      • EndsWith
      • Format
      • FormatArray
      • IndexOf
      • IsLower
      • IsUpper
      • JSON Parse
      • JSON Stringify
      • Join
      • LastIndexOf
      • Length
      • Lower
      • MatchRegex
      • PaddingLeft
      • PaddingRight
      • RandomString
      • RemoveCharacters
      • Replace
      • ReplaceRegex
      • Reverse
      • Split
      • StartsWith
      • String Value
      • Substring
      • Trim
      • TrimLeft
      • TrimRight
      • Upper
    • Transition
      • CrossFade
      • Fade
      • MoveInFromBottom
      • MoveInFromLeft
      • MoveInFromRight
      • MoveInFromTop
      • SlideInFromBottom
      • SlideInFromLeft
      • SlideInFromRight
      • SlideInFromTop
    • Utilities
      • Color Value
      • Conversion
      • Create CustomID
      • Create Object
      • Get Command Line Option
      • Group
      • Interval
        • Reset Interval
        • Start Interval
      • Is Data Type
      • Is Object Type
      • System Call
      • Timeout
        • Cancel Timeout
        • Start Timeout
    • Variables
      • Variable Getter
      • Variable Setter
    • Web
      • Call JavaScript Function
  • Demo Projects
    • Overview
    • 4 Methods of Animation
    • Using APIs to Pull Dynamic Data
    • An Analog Clock
    • Image Sequence Button Animation
    • Prefabs
    • Project Initialization
    • On-Screen Keyboard
    • Skinnable Speedometer
Powered by GitBook
On this page
  • Create
  • Attributes
  • Transformation
  • Frame
  • Events
  • Blending
  • Fill
  • Solid
  • Image
  • Stroke
  • Mask
  • Style
  • Tag

Was this helpful?

  1. Objects and Types
  2. Scene2D Objects

Frame

PreviousCameraNextGUI

Last updated 1 year ago

Was this helpful?

A Frame is a Scene2D Object in Incari that acts as a 'container' to its children and has rigid boundaries. It is one of the only Objects in Scene2Ds which can be a parent, besides and .

Create

When a Frame is created, its boundaries are displayed in green, an example of which can be seen in the image below. It can then be populated with other Objects.

The dimensions of the Frame are provided in its Attributes.

Without any Objects as children, a Frame doesn't look like much:

An Ellipse and Rectangle are now added as children. Notice the Position and Size describe these boundaries numerically. The top-left corner starts at 0,0 and it extends 100 units in both the X and Y-axes. Objects, however, will still appear in full outside the boundaries of the Frame if they happen to not be entirely encapsulated.

Attributes

Transformation

Horizontal Resizing and Vertical Resizing are only made functional when the Layout has been changed. They both can either be Hug Content or Fixed Distance.

When Hug Content is selected, the size of the Frame is always automatically recalculated to perfectly fit all its elements. If a Layout is used on the Frame and then an Object is added while Hug Content is on, the size of the Frame will increase. The same happens when a Gap or Padding is added. Fixed Distance means that the Frame's boundaries are exactly as they are set with Size.

Frame

These Attributes are essential to formatting a Frame.

The Layout of the Frame can be adjusted to display its children horizontally or vertically. Please note that changing the Layout causes Objects to be placed at their default positions in the Frame.

Alignment determines where the Frame's children appear within its boundaries. For example, the Alignment for the two Objects shown below is set to Bottom Right.

Crop cuts off all content which is outside of the Frame. However, this only applies to its children and not any unrelated Objects in the Scene2D.

If a child Object (or part of a child Object) is moved outside the boundary of the Frame and Crop is toggled on, the Object (or part of it) will no longer be visible.

Events

This Attribute determines whether the Frame receives Events or not in the Logic. This is true when it is toggled on and false if not.

Blending

Fill

The Fill Attributes consist of different items called Elements. Each Element contains a Type. This can be either Solid or Image and changes some of the available Attributes under this category.

If there is more than one Fill Element, the most recent one will take precedent over the others (unless some Blend Mode is applied).

Solid

When Solid is selected, Color is visible.

  • Color is a color selector that lets the user pick the Fill's color.

  • Opacity refers to how opaque or transparent the Fill appears. This is represented by an integer between 0 and 1.

Image

When Image is selected, Image and Fit Mode are visible.

  • Image is the desired Texture file.

  • Fit Mode determines how the Texture is displayed. These can be Fill, Fit, Crop, and Tile. Tile has the additional Attribute of Scale Factor, which augments the tesselation.

  • Opacity refers to how opaque or transparent the Fill appears. This is represented by an integer between 0 and 1.

Stroke

The Stroke Attributes consist of different items called Elements. Each Element contains a Type. This can be either Solid or Image and changes some of the available Attributes under this category. There are also two fixed Attributes outside of the Elements. These are:

  • Width, which is how wide (in pixels) each Stroke will appear. This applies to each Stroke Element.

  • Position, which determines what part of the outline identifies the outside of the Object. For example, if Inner is selected, then the outside of the Stroke is the outside of the Object. If Center is selected, then the Stroke's center is the outside of the Object. If Outer is selected, then the inside of the Stroke is the outside of the Object.

When Solid is selected, Color is visible.

  • Color is a color selector that lets the user pick the Stroke's color.

  • Opacity refers to how opaque or transparent the Stroke appears. This is represented by an integer between 0 and 1.

When Image is selected, Image and Fit Mode are visible.

  • Image is the desired Texture file.

  • Fit Mode determines how the Texture is displayed. These can be Fill, Fit, Crop, and Tile. Tile has the additional Attribute of Scale Factor, which augments the tesselation.

  • Opacity refers to how opaque or transparent the Fill appears. This is represented by an integer between 0 and 1.

Mask

A Mask is an Object that shows a certain area of another Object while concealing the rest. Any Object (e.g., an Ellipse, Rectangle, Frame, Group, or Text) can be used as a Mask.

For easier visualization, think of the Mask as a cookie cutter while the masked Object is the dough: the cookie cutter shows only a part and discards the rest.

The Type Attribute has three options:

  • None - nothing is applied.

  • Alpha - the Mask has an opacity level (alpha channel) determining with which level of opacity (or transparency) the masked Object is revealed: 0% opacity reveals nothing, 100% opacity is equivalent to a Mask with Vector type.

  • Vector - only modifies the shape outline of the masked Object

  • Luminance - allows the user to utilize brightness to determine the effect of the Mask; the brighter the area of a Mask, the more that is revealed and the darker the area, the less that is revealed.

Object allows the user to select what should be the masked Object.

Apply Mask is a toggle that applies the Mask when set to on, and disables the Mask when set to off.

Style

  • Gap adds a gap between each of the Objects placed in the frame, with the specified distance given by the user.

  • CSS Classes contain the CSS class names of the Object.

  • Stylesheet contains the CSS stylesheet of the Object.

Tag

The Transformation Attributes deal with placement, rotation, and size in XY space. More information can be found .

This Attribute lets the user set a Blend Mode as a base property of the Ellipse. These are established on common formulas, examples of each can be accessed . An Object's Blend Mode can also be set with the .

Similar to the base property described previously, Blend Mode here affects the Fill Elements only. These are established on common formulas, examples of each can be accessed . It can also be set with the .

Similar to the base property described previously, Blend Mode here affects the Fill Elements only. These are established on common formulas, examples of each can be accessed . It can also be set with the .

Similar to the base property described previously, Blend Mode here affects the Stroke Elements only. These are established on common formulas, examples of each can be accessed . It can also be set with the .

Similar to the base property described previously, Blend Mode here affects the Stroke Elements only. These are established on common formulas, examples of each can be accessed . It can also be set with the .

The Style Attributes allow for more customizability. This can override any stylesheet provided in the or a .

To address these in the Logic, please refer to the .

Paddingadds padding to a Frame depending on what sizes are specified and for which sides. The options are t for top, r for right, b for bottom, and l for left. is often seen in the context of CSS. Similarly, in Incari, it is the extra space around elements within the confines of the Frame.

This Attribute manages the tags for the Button. See more on tags

here
here
Set Blend Mode Node
here
Set Blend Mode Node
here
Set Blend Mode Node
here
Set Blend Mode Node
here
Set Blend Mode Node
Project Settings
Scene2D
Object 2D Nodes
Padding
here.
Groups
Boolean Operations
Frame Object Before.
Frame with Objects.
Transformation Attributes.
Frame Attributes.
Events Attributes.
Blending Attributes.
Fill Attributes with Type Solid.
Fill Attributes with Type Image.
Stroke Attributes with Type Solid.
Stroke Attributes with Type Image.
Mask Attributes.
Style Attributes.
Tag Attributes.