Function Device.acquire
Acquires the device for the current thread. This function will block until no other thread has acquired the device.
If no Exception is thrown, you successfully
acquired the device. From now on your thread owns the device
and no other thread will be able to acquire
it until a matching
call to Device.release
(). It is allowed to recursively
acquire
the device multiple times from the same thread.
Prototype
void acquire();
Note
You must never acquire
two different devices at the same time
unless this is explicitly allowed. Otherwise the possibility
of deadlocks exist.
As various Cairo functions can acquire
devices when called,
these functions may also cause deadlocks when you call them
with an acquired device. So you must not have a device acquired
when calling them. These functions are marked in the documentation.
Throws
An exception if the device is in an error state and could not
be acquired. After a successful call to acquire
, a matching call
to Device.release
() is required.
Authors
Johannes Pfau | cairoD |
Andrej Mitrovic | cairoD |
cairo team | cairo |
Copyright
License
cairoD wrapper/bindings | Boost License 1.0 |
cairo | LGPL 2.1 / MPL 1.1 |