/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
class gfxQuartzNativeDrawing { typedef mozilla::gfx::DrawTarget DrawTarget; typedef mozilla::gfx::Rect Rect;
public: /* Create native Quartz drawing for a rectangle bounded by * nativeRect. * * Typical usage looks like: * * gfxQuartzNativeDrawing nativeDraw(ctx, nativeRect); * CGContextRef cgContext = nativeDraw.BeginNativeDrawing(); * if (!cgContext) * return NS_ERROR_FAILURE; * * ... call Quartz operations on CGContextRef to draw to nativeRect ... * * nativeDraw.EndNativeDrawing(); * * aNativeRect is the size of the surface (in Quartz/Cocoa points) that * will be created _if_ the gfxQuartzNativeDrawing decides to create a new * surface and CGContext for its drawing operations, which it then * composites into the target DrawTarget. * * (Note that aNativeRect will be ignored if the gfxQuartzNativeDrawing * uses the target DrawTarget directly.) * * The optional aBackingScale parameter is a scaling factor that will be * applied when creating and rendering into such a temporary surface.
*/
gfxQuartzNativeDrawing(DrawTarget& aDrawTarget, const Rect& aNativeRect);
/* Returns a CGContextRef which may be used for native drawing. This * CGContextRef is valid until EndNativeDrawing is called; if it is used
* for drawing after that time, the result is undefined. */
CGContextRef BeginNativeDrawing();
/* Marks the end of native drawing */ void EndNativeDrawing();
private: // don't allow copying via construction or assignment
gfxQuartzNativeDrawing(const gfxQuartzNativeDrawing&) = delete; const gfxQuartzNativeDrawing& operator=(const gfxQuartzNativeDrawing&) = delete;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.