image_access_storage - Access the underlying backing store of a textured
video object.
true or false
image_access_storage( vid, callback(table, width, height) )
This function permits limited, blocking, access to a backing store. The primary
purpose is to provide quick access to trivial measurements without the
overhead of setting up a calctarget and performing readbacks. The function
returns false if the backing store was unavailable.
- 1
- methods and properties in table are described in
define_calctarget.
- 2
- The table provided in the callback is only valid during the scope of the
callback, creating aliases outside this scope and trying to use any table
method is a terminal state transition that may be difficult to debug.
- 3
- Most frameserver connections do not synchronize the contents of the
backing store buffer due to the added bandwidth cost of performing an
extra copy each update. This behavior can be changed by calling
target_flags and enable TARGET_VSTORE_SYNCH for the specific
frameserver.
- 4
- The backing store of a texture video object is not always available,
particularly when the engine is running in conservative mode. Make sure
that your appl can handle scenarios where the backing store cannot be
read.
function image_access_storage0()
img = fill_surface(32, 32, 255, 0, 0);
image_access_storage(a, function(tbl, w, h)
print(w, h, tbl:get(1, 1));
end);
end