Difference between revisions of "platform.gc"

From Inspired-Lua Wiki
Jump to navigation Jump to search
Line 7: Line 7:
 
A graphics context is available only during paint events, and that may be too late to create and size the containers for text fields.
 
A graphics context is available only during paint events, and that may be too late to create and size the containers for text fields.
 
This graphics context cannot be used to draw graphics since it is not tied to a window. It can however do that if this gc is used in a function called within [[on.paint]].
 
This graphics context cannot be used to draw graphics since it is not tied to a window. It can however do that if this gc is used in a function called within [[on.paint]].
 +
<br />
 +
 
Here is an example of using the dummy graphics context to get the pixel length and height of a string.
 
Here is an example of using the dummy graphics context to get the pixel length and height of a string.
 
<syntaxhighlight>local gc = platform.gc()                    -- Get the dummy graphics context
 
<syntaxhighlight>local gc = platform.gc()                    -- Get the dummy graphics context

Revision as of 00:06, 25 May 2011

Returns a dummy graphics context.

As a consequence, you are able to use the functions made for the "normal" gc

It is typically used to measure pixel lengths and heights of strings when a normal graphics context is not available.
This may be the case when creating new text elements when the script app is initialized.
A graphics context is available only during paint events, and that may be too late to create and size the containers for text fields. This graphics context cannot be used to draw graphics since it is not tied to a window. It can however do that if this gc is used in a function called within on.paint.

Here is an example of using the dummy graphics context to get the pixel length and height of a string.

local gc = platform.gc()                     -- Get the dummy graphics context
gc:begin()                                   -- Makes it the current graphics context
local width = gc:getStringWidth(a_string)    -- Gets the pixel length of a_string
local height = gc:getStringHeight(a_string)  -- Gets the pixel height of a_string
-- do things here --
gc:finish()                                  -- Restores previous graphics context

It is important to use gc:begin() to set up the graphics context before using it in the getString routines and to call gc:finish() to relinquish it when finished with it.


This has been introduced in TI-Nspire OS 3.0 (Changes).