Detailed Description

Helps with the process of rastering elements. Used by the CSS filter property.

Inheritance diagram for Css.RasterDisplayableProperty:
Css.DisplayableProperty

Public Member Functions

 RasterDisplayableProperty (RenderableData data)
 Creates a new solid background colour property for the given element. More...
 
override void Paint (LayoutBox box, Renderman renderer)
 Called when a paint event occurs. Paint events don't relocate the whole UI so are quick and efficient. More...
 
void SetFilter (Loonim.SurfaceTexture tex)
 Sets a filter to apply. This is what rasterising elements is all for! More...
 
void Destroy ()
 Destroys this RDP. More...
 
- Public Member Functions inherited from Css.DisplayableProperty
 DisplayableProperty (RenderableData data)
 Creates a new displayable property for the given render data. More...
 
MeshBlock GetFirstBlock (Renderman renderer)
 Gets the first rendered block of this property. Used during Paint passes. More...
 
void SetVisibility (bool visible)
 Call this when the visibility of this property as a whole changes. More...
 
virtual void OnBatchDestroy ()
 Called when the isolation batch for this property gets removed. More...
 
void Change (string property, Value newValue)
 Called when a named css property changes. More...
 
void ClearBlocks ()
 Clears all mesh blocks that this property has allocated. More...
 
void WentOffScreen ()
 
virtual bool Render (bool first, LayoutBox box, Renderman renderer)
 Make this property visible by forcing it to redraw. More...
 
virtual void ApplyTransform (Matrix4x4 delta, Renderman renderer)
 Transforms all the verts by the given delta matrix. Used during a Paint only. More...
 
virtual void RequestPaint ()
 Requests for a paint event to occur. Note that paint events are more efficient than a layout as they only refresh the mesh colours and uvs rather than the whole mesh. More...
 
void SetBatchMaterial (Renderman renderer, Material material)
 Sets the current batches material. More...
 
void RequestLayout ()
 Requests for a layout event to occur. Note that paint events are more efficient than a layout as they only refresh the mesh colours and uvs rather than the whole mesh. More...
 
MeshBlock Add (Renderman renderer)
 
virtual void PostProcess (LayoutBox box, Renderman renderer)
 Called after a render pass. More...
 
void Isolate ()
 Isolates this property from the rest of the UI such that it can have a custom mesh/shader/texture etc. More...
 
void Include ()
 Reverses Css.DisplayableProperty.Isolate by re-including this property in the main UI batch. More...
 
bool IsIsolated ()
 Checks if this is an isolated property - that's one which is seperate and takes its own drawcall. More...
 
AtlasLocation RequireImage (AtlasEntity image)
 

Public Attributes

Texture Output
 The raster output. Usually originates from either the FlatWorldUI renderer or via a filter. More...
 
FlatWorldUI Renderer
 A flatWorldUI which helps with the process of rendering the element. More...
 
Loonim.SurfaceTexture Filter
 A filter to apply. More...
 
Loonim.DrawInfo FilterDrawInfo
 The draw info which draws the filter. More...
 
- Public Attributes inherited from Css.DisplayableProperty
bool Visible
 True if this is currently visible on screen. More...
 
bool Isolated
 True if this property is isolated and has a seperate mesh and material from everything else. More...
 
short BlockCount
 The number of mesh blocks that this property has allocated. More...
 
RenderableData RenderData
 The parent render data that this is a property of. More...
 
bool GotBatchAlready
 Only applies to Isolated properties. Set to true when this property has allocated a UIBatch on the current layout. More...
 

Package Functions

override void NowOffScreen ()
 Called when this element goes off screen (or is removed from the DOM). More...
 
override void Layout (LayoutBox box, Renderman renderer)
 Called when a layout event occurs. Layout events relocate the whole UI so should be used less frequently than a paint event. More...
 
- Package Functions inherited from Css.DisplayableProperty
virtual bool NowOnScreen ()
 Called when this element goes on screen. More...
 

Properties

override int DrawOrder [get]
 This property's draw order. More...
 
- Properties inherited from Css.DisplayableProperty
virtual int DrawOrder [get]
 This property's draw order. More...
 
virtual bool IsBackground [get]
 True if this paints across the whole background of the element. More...
 
bool Paintable [get]
 Checks if this property can be repainted. More...
 

Private Member Functions

void UpdateRenderer (LayoutBox box, float width, float height)
 Updates the FlatWorldUI so it builds the mesh for this element. More...
 

Private Attributes

Material Material
 A material displaying the output. More...
 
AtlasLocation LocatedAt
 An AtlasLocation object used to describe where the image is. More...
 

Static Private Attributes

static int RasterID =1
 A unique identifier. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Css.DisplayableProperty
virtual void OnChange (string property, Value newValue)
 Called when a named css property changes. More...
 
- Package Attributes inherited from Css.DisplayableProperty
UIBatch Batch
 The batch that this was allocated to. More...
 
int FirstBlockIndex
 The block index in the first buffer. With this, all blocks belonging to this property can be quickly discovered. More...
 

Constructor & Destructor Documentation

Css.RasterDisplayableProperty.RasterDisplayableProperty ( RenderableData  data)
inline

Creates a new solid background colour property for the given element.

Parameters
dataThe renderable object to give a bg colour to.

Member Function Documentation

void Css.RasterDisplayableProperty.Destroy ( )
inline

Destroys this RDP.

override void Css.RasterDisplayableProperty.Layout ( LayoutBox  box,
Renderman  renderer 
)
inlinepackagevirtual

Called when a layout event occurs. Layout events relocate the whole UI so should be used less frequently than a paint event.

Reimplemented from Css.DisplayableProperty.

override void Css.RasterDisplayableProperty.NowOffScreen ( )
inlinepackagevirtual

Called when this element goes off screen (or is removed from the DOM).

Reimplemented from Css.DisplayableProperty.

override void Css.RasterDisplayableProperty.Paint ( LayoutBox  box,
Renderman  renderer 
)
inlinevirtual

Called when a paint event occurs. Paint events don't relocate the whole UI so are quick and efficient.

Reimplemented from Css.DisplayableProperty.

void Css.RasterDisplayableProperty.SetFilter ( Loonim.SurfaceTexture  tex)
inline

Sets a filter to apply. This is what rasterising elements is all for!

void Css.RasterDisplayableProperty.UpdateRenderer ( LayoutBox  box,
float  width,
float  height 
)
inlineprivate

Updates the FlatWorldUI so it builds the mesh for this element.

Member Data Documentation

Loonim.SurfaceTexture Css.RasterDisplayableProperty.Filter

A filter to apply.

Loonim.DrawInfo Css.RasterDisplayableProperty.FilterDrawInfo

The draw info which draws the filter.

AtlasLocation Css.RasterDisplayableProperty.LocatedAt
private

An AtlasLocation object used to describe where the image is.

Material Css.RasterDisplayableProperty.Material
private

A material displaying the output.

Texture Css.RasterDisplayableProperty.Output

The raster output. Usually originates from either the FlatWorldUI renderer or via a filter.

int Css.RasterDisplayableProperty.RasterID =1
staticprivate

A unique identifier.

FlatWorldUI Css.RasterDisplayableProperty.Renderer

A flatWorldUI which helps with the process of rendering the element.

Property Documentation

override int Css.RasterDisplayableProperty.DrawOrder
get

This property's draw order.