other-licenses/skia-npapi/SkANP.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /*
     2  * Copyright 2008, The Android Open Source Project
     3  *
     4  * Redistribution and use in source and binary forms, with or without
     5  * modification, are permitted provided that the following conditions
     6  * are met:
     7  *  * Redistributions of source code must retain the above copyright
     8  *    notice, this list of conditions and the following disclaimer.
     9  *  * Redistributions in binary form must reproduce the above copyright
    10  *    notice, this list of conditions and the following disclaimer in the
    11  *    documentation and/or other materials provided with the distribution.
    12  *
    13  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
    14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
    21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    24  */
    26 #ifndef SkANP_DEFINED
    27 #define SkANP_DEFINED
    29 #include "android_npapi.h"
    30 #include "SkCanvas.h"
    31 #include "SkMatrix.h"
    32 #include "SkPaint.h"
    33 #include "SkPath.h"
    34 #include "SkTypeface.h"
    36 struct ANPMatrix : SkMatrix {
    37 };
    39 struct ANPPath : SkPath {
    40 };
    42 struct ANPPaint : SkPaint {
    43 };
    45 struct ANPTypeface : SkTypeface {
    46 };
    48 struct ANPCanvas {
    49     SkCanvas* skcanvas;
    51     // draw into the specified bitmap
    52     explicit ANPCanvas(const SkBitmap& bm) {
    53         skcanvas = new SkCanvas(bm);
    54     }
    56     // redirect all drawing to the specific SkCanvas
    57     explicit ANPCanvas(SkCanvas* other) {
    58         skcanvas = other;
    59         skcanvas->ref();
    60     }
    62     ~ANPCanvas() {
    63         skcanvas->unref();
    64     }
    65 };
    67 class SkANP {
    68 public:
    69     static SkRect* SetRect(SkRect* dst, const ANPRectF& src);
    70     static SkIRect* SetRect(SkIRect* dst, const ANPRectI& src);
    71     static ANPRectI* SetRect(ANPRectI* dst, const SkIRect& src);
    72     static ANPRectF* SetRect(ANPRectF* dst, const SkRect& src);
    73     static SkBitmap* SetBitmap(SkBitmap* dst, const ANPBitmap& src);
    74     static bool SetBitmap(ANPBitmap* dst, const SkBitmap& src);
    76     static void InitEvent(ANPEvent* event, ANPEventType et);
    77 };
    79 #endif

mercurial