#include <screen_item32.h>
A ScreenItem is the engine-side representation of a game script View.
◆ init()
static void Sci::ScreenItem::init |
( |
| ) |
|
|
static |
Initialises static Plane members.
◆ calcRects()
void Sci::ScreenItem::calcRects |
( |
const Plane & |
plane | ) |
|
Calculates the dimensions and scaling parameters for the screen item, using the given plane as the parent plane for screen rect positioning.
- Note
- This method was called Update in SSCI.
◆ getCelObj()
CelObj& Sci::ScreenItem::getCelObj |
( |
| ) |
const |
Retrieves the corresponding cel object for this screen item. If a cel object does not already exist, one will be created and assigned.
◆ update() [1/2]
void Sci::ScreenItem::update |
( |
const reg_t |
object | ) |
|
Updates the properties of the screen item from a VM object.
◆ update() [2/2]
void Sci::ScreenItem::update |
( |
| ) |
|
Updates the properties of the screen item for one not belonging to a VM object. Originally GraphicsMgr::UpdateScreenItem.
◆ getNowSeenRect()
Gets the "now seen" rect for the screen item, which represents the current size and position of the screen item on the screen in script coordinates.
◆ _plane
reg_t Sci::ScreenItem::_plane |
The parent plane of this screen item.
◆ _scale
Scaling data used to calculate the final screen dimensions of the screen item as well as the scaling ratios used when drawing the item to screen.
◆ _creationId
uint32 Sci::ScreenItem::_creationId |
The creation order number, which ensures a stable sort when screen items with identical priorities and z-indexes are added to the screen item list.
◆ _celInfo
A descriptor for the cel object represented by the screen item.
◆ _celObj
The cel object used to actually render the screen item. This member is populated by calling getCelObj
.
◆ _fixedPriority
bool Sci::ScreenItem::_fixedPriority |
If set, the priority for this screen item is fixed in place. Otherwise, the priority of the screen item is calculated from its y-position + z-index.
◆ _priority
int16 Sci::ScreenItem::_priority |
The rendering priority of the screen item, relative only to the other screen items within the same plane. Higher priorities are drawn above lower priorities.
◆ _position
The top-left corner of the screen item, in game script coordinates, relative to the parent plane.
◆ _object
reg_t Sci::ScreenItem::_object |
The associated View script object that was used to create the ScreenItem, or a numeric value in the case of a ScreenItem that was generated by the kernel.
◆ _pictureId
GuiResourceId Sci::ScreenItem::_pictureId |
For screen items representing picture resources, the resource ID of the picture.
◆ _created
int Sci::ScreenItem::_created |
Flags indicating the state of the screen item.
created
is set when the screen item is first created, either from a VM object or from within the kernel
updated
is set when created
is not already set and the screen item is updated from a VM object
deleted
is set by the parent plane, if the parent plane is a pic type and its picture resource ID has changed
◆ _mirrorX
bool Sci::ScreenItem::_mirrorX |
For screen items that represent picture cels, this value is set to match the _mirrorX
property of the parent plane and indicates that the cel should be drawn horizontally mirrored. For final drawing, it is XORed with the _mirrorX
property of the cel object. The cel object's _mirrorX
property comes from the resource data.
◆ _ratioX
Ratio Sci::ScreenItem::_ratioX |
The scaling ratios to use when drawing this screen item. These values are calculated according to the scale info whenever the screen item is updated.
◆ _scaledPosition
The top-left corner of the screen item, in screen coordinates.
◆ _screenRect
The position & dimensions of the screen item in screen coordinates. This rect includes the offset of the parent plane and is clipped to the screen.
◆ _drawBlackLines
bool Sci::ScreenItem::_drawBlackLines |
Whether or not the screen item should be drawn with black lines drawn every second line. This is used when pixel doubling videos to improve apparent sharpness at the cost of your eyesight.
The documentation for this class was generated from the following file: