summaryrefslogtreecommitdiff
path: root/src/cairo-device-private.h
Commit message (Collapse)AuthorAgeFilesLines
* device: Make flush vfunc return a cairo_status_tBenjamin Otte2010-06-071-1/+1
| | | | | Mirror the behavior of the surface flush vfunc: Make it return a status and if it's an error set it on the device.
* Update FSF addressAndrea Canciani2010-04-271-1/+1
| | | | | | | | | | | I updated the Free Software Foundation address using the following script. for i in $(git grep Temple | cut -d: -f1 ) do sed -e 's/59 Temple Place[, -]* Suite 330, Boston, MA *02111-1307[, ]* USA/51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA/' -i "$i" done Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21356
* device: Add language binding interfaces.Chris Wilson2010-03-231-0/+1
| | | | | | Damien Carbonne reported that cairo_device_t lacked the language binding hooks normally associated with cairo objects. So add the missing get_reference_count, get_user_data and set_user_data.
* Add cairo_device_tChris Wilson2010-01-221-0/+85
The device is a generic method for accessing the underlying interface with the native graphics subsystem, typically the X connection or perhaps the GL context. By exposing a cairo_device_t on a surface and its various methods we enable finer control over interoperability with external interactions of the device by applications. The use case in mind is, for example, a multi-threaded gstreamer which needs to serialise its own direct access to the device along with Cairo's across many threads. Secondly, the cairo_device_t is a unifying API for the mismash of backend specific methods for controlling creation of surfaces with explicit devices and a convenient hook for debugging and introspection. The principal components of the API are the memory management of: cairo_device_reference(), cairo_device_finish() and cairo_device_destroy(); along with a pair of routines for serialising interaction: cairo_device_acquire() and cairo_device_release() and a method to flush any outstanding accesses: cairo_device_flush(). The device for a particular surface may be retrieved using: cairo_surface_get_device(). The device returned is owned by the surface.