| Index: webkit/pending/CanvasRenderingContext2D.h
|
| ===================================================================
|
| --- webkit/pending/CanvasRenderingContext2D.h (revision 2884)
|
| +++ webkit/pending/CanvasRenderingContext2D.h (working copy)
|
| @@ -1,277 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions
|
| - * are met:
|
| - * 1. Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * 2. Redistributions in binary form must reproduce the above copyright
|
| - * notice, this list of conditions and the following disclaimer in the
|
| - * documentation and/or other materials provided with the distribution.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
|
| - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
| - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
| - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
|
| - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
| - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
| - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
| - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
| - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| - */
|
| -
|
| -#ifndef CanvasRenderingContext2D_h
|
| -#define CanvasRenderingContext2D_h
|
| -
|
| -#include "AffineTransform.h"
|
| -#include "FloatSize.h"
|
| -#include "Font.h"
|
| -#include "GraphicsTypes.h"
|
| -#include "Path.h"
|
| -#include "PlatformString.h"
|
| -#include <wtf/Vector.h>
|
| -
|
| -#if PLATFORM(CG)
|
| -#include <ApplicationServices/ApplicationServices.h>
|
| -#endif
|
| -
|
| -namespace WebCore {
|
| -
|
| - class CanvasGradient;
|
| - class CanvasPattern;
|
| - class CanvasStyle;
|
| - class FloatRect;
|
| - class GraphicsContext;
|
| - class HTMLCanvasElement;
|
| - class HTMLImageElement;
|
| - class ImageData;
|
| - class KURL;
|
| - class TextMetrics;
|
| -
|
| - typedef int ExceptionCode;
|
| -
|
| - class CanvasRenderingContext2D :
|
| -#if USE(V8)
|
| - Peerable // Already has Noncopyable as a superclass.
|
| -#else
|
| - Noncopyable
|
| -#endif
|
| - {
|
| - public:
|
| - CanvasRenderingContext2D(HTMLCanvasElement*);
|
| -
|
| - void ref();
|
| - void deref();
|
| -
|
| -#if USE(V8)
|
| - virtual void setPeer(void* peer)
|
| - {
|
| - ASSERT(m_peer != peer);
|
| - if (peer)
|
| - ref();
|
| - else
|
| - deref();
|
| - m_peer = peer;
|
| -
|
| - }
|
| - virtual void* peer() const
|
| - {
|
| - return m_peer;
|
| - }
|
| -#endif
|
| -
|
| - HTMLCanvasElement* canvas() const { return m_canvas; }
|
| -
|
| - CanvasStyle* strokeStyle() const;
|
| - void setStrokeStyle(PassRefPtr<CanvasStyle>);
|
| -
|
| - CanvasStyle* fillStyle() const;
|
| - void setFillStyle(PassRefPtr<CanvasStyle>);
|
| -
|
| - float lineWidth() const;
|
| - void setLineWidth(float);
|
| -
|
| - String lineCap() const;
|
| - void setLineCap(const String&);
|
| -
|
| - String lineJoin() const;
|
| - void setLineJoin(const String&);
|
| -
|
| - float miterLimit() const;
|
| - void setMiterLimit(float);
|
| -
|
| - float shadowOffsetX() const;
|
| - void setShadowOffsetX(float);
|
| -
|
| - float shadowOffsetY() const;
|
| - void setShadowOffsetY(float);
|
| -
|
| - float shadowBlur() const;
|
| - void setShadowBlur(float);
|
| -
|
| - String shadowColor() const;
|
| - void setShadowColor(const String&);
|
| -
|
| - float globalAlpha() const;
|
| - void setGlobalAlpha(float);
|
| -
|
| - String globalCompositeOperation() const;
|
| - void setGlobalCompositeOperation(const String&);
|
| -
|
| - void save();
|
| - void restore();
|
| -
|
| - void scale(float sx, float sy);
|
| - void rotate(float angleInRadians);
|
| - void translate(float tx, float ty);
|
| - void transform(float m11, float m12, float m21, float m22, float dx, float dy);
|
| -
|
| - void setStrokeColor(const String& color);
|
| - void setStrokeColor(float grayLevel);
|
| - void setStrokeColor(const String& color, float alpha);
|
| - void setStrokeColor(float grayLevel, float alpha);
|
| - void setStrokeColor(float r, float g, float b, float a);
|
| - void setStrokeColor(float c, float m, float y, float k, float a);
|
| -
|
| - void setFillColor(const String& color);
|
| - void setFillColor(float grayLevel);
|
| - void setFillColor(const String& color, float alpha);
|
| - void setFillColor(float grayLevel, float alpha);
|
| - void setFillColor(float r, float g, float b, float a);
|
| - void setFillColor(float c, float m, float y, float k, float a);
|
| -
|
| - void beginPath();
|
| - void closePath();
|
| -
|
| - void moveTo(float x, float y);
|
| - void lineTo(float x, float y);
|
| - void quadraticCurveTo(float cpx, float cpy, float x, float y);
|
| - void bezierCurveTo(float cp1x, float cp1y, float cp2x, float cp2y, float x, float y);
|
| - void arcTo(float x0, float y0, float x1, float y1, float radius, ExceptionCode&);
|
| - void arc(float x, float y, float r, float sa, float ea, bool clockwise, ExceptionCode&);
|
| - void rect(float x, float y, float width, float height);
|
| -
|
| - void fill();
|
| - void stroke();
|
| - void clip();
|
| -
|
| - bool isPointInPath(const float x, const float y);
|
| -
|
| - void clearRect(float x, float y, float width, float height);
|
| - void fillRect(float x, float y, float width, float height);
|
| - void strokeRect(float x, float y, float width, float height);
|
| - void strokeRect(float x, float y, float width, float height, float lineWidth);
|
| -
|
| - void setShadow(float width, float height, float blur);
|
| - void setShadow(float width, float height, float blur, const String& color);
|
| - void setShadow(float width, float height, float blur, float grayLevel);
|
| - void setShadow(float width, float height, float blur, const String& color, float alpha);
|
| - void setShadow(float width, float height, float blur, float grayLevel, float alpha);
|
| - void setShadow(float width, float height, float blur, float r, float g, float b, float a);
|
| - void setShadow(float width, float height, float blur, float c, float m, float y, float k, float a);
|
| -
|
| - void clearShadow();
|
| -
|
| - void drawImage(HTMLImageElement*, float x, float y);
|
| - void drawImage(HTMLImageElement*, float x, float y, float width, float height, ExceptionCode&);
|
| - void drawImage(HTMLImageElement*, const FloatRect& srcRect, const FloatRect& dstRect, ExceptionCode&);
|
| - void drawImage(HTMLCanvasElement*, float x, float y);
|
| - void drawImage(HTMLCanvasElement*, float x, float y, float width, float height, ExceptionCode&);
|
| - void drawImage(HTMLCanvasElement*, const FloatRect& srcRect, const FloatRect& dstRect, ExceptionCode&);
|
| -
|
| - void drawImageFromRect(HTMLImageElement*, float sx, float sy, float sw, float sh,
|
| - float dx, float dy, float dw, float dh, const String& compositeOperation);
|
| -
|
| - void setAlpha(float);
|
| -
|
| - void setCompositeOperation(const String&);
|
| -
|
| - PassRefPtr<CanvasGradient> createLinearGradient(float x0, float y0, float x1, float y1);
|
| - PassRefPtr<CanvasGradient> createRadialGradient(float x0, float y0, float r0, float x1, float y1, float r1);
|
| - PassRefPtr<CanvasPattern> createPattern(HTMLImageElement*, const String& repetitionType, ExceptionCode&);
|
| - PassRefPtr<CanvasPattern> createPattern(HTMLCanvasElement*, const String& repetitionType, ExceptionCode&);
|
| -
|
| - PassRefPtr<ImageData> createImageData(float width, float height) const;
|
| - PassRefPtr<ImageData> getImageData(float sx, float sy, float sw, float sh, ExceptionCode&) const;
|
| - void putImageData(ImageData*, float dx, float dy, ExceptionCode&);
|
| - void putImageData(ImageData*, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight, ExceptionCode&);
|
| -
|
| - void reset();
|
| -
|
| - String font() const;
|
| - void setFont(const String&);
|
| -
|
| - String textAlign() const;
|
| - void setTextAlign(const String&);
|
| -
|
| - String textBaseline() const;
|
| - void setTextBaseline(const String&);
|
| -
|
| - void fillText(const String& text, float x, float y);
|
| - void fillText(const String& text, float x, float y, float maxWidth);
|
| - void strokeText(const String& text, float x, float y);
|
| - void strokeText(const String& text, float x, float y, float maxWidth);
|
| - PassRefPtr<TextMetrics> measureText(const String& text);
|
| -
|
| - private:
|
| - struct State {
|
| - State();
|
| -
|
| - RefPtr<CanvasStyle> m_strokeStyle;
|
| - RefPtr<CanvasStyle> m_fillStyle;
|
| - float m_lineWidth;
|
| - LineCap m_lineCap;
|
| - LineJoin m_lineJoin;
|
| - float m_miterLimit;
|
| - FloatSize m_shadowOffset;
|
| - float m_shadowBlur;
|
| - String m_shadowColor;
|
| - float m_globalAlpha;
|
| - CompositeOperator m_globalComposite;
|
| - AffineTransform m_transform;
|
| -
|
| - // Text state.
|
| - TextAlign m_textAlign;
|
| - TextBaseline m_textBaseline;
|
| -
|
| - String m_unparsedFont;
|
| - Font m_font;
|
| - bool m_realizedFont;
|
| - };
|
| - Path m_path;
|
| -
|
| - State& state() { return m_stateStack.last(); }
|
| - const State& state() const { return m_stateStack.last(); }
|
| -
|
| - void applyShadow();
|
| -
|
| - void willDraw(const FloatRect&);
|
| -
|
| - GraphicsContext* drawingContext() const;
|
| -
|
| - void applyStrokePattern();
|
| - void applyFillPattern();
|
| -
|
| - void drawTextInternal(const String& text, float x, float y, bool fill, float maxWidth = 0, bool useMaxWidth = false);
|
| -
|
| - const Font& accessFont();
|
| -
|
| -#if ENABLE(DASHBOARD_SUPPORT)
|
| - void clearPathForDashboardBackwardCompatibilityMode();
|
| -#endif
|
| -
|
| - void checkOrigin(const KURL&);
|
| -
|
| - HTMLCanvasElement* m_canvas;
|
| - Vector<State, 1> m_stateStack;
|
| -#if USE(V8)
|
| - void* m_peer;
|
| -#endif
|
| - };
|
| -
|
| -} // namespace WebCore
|
| -
|
| -#endif
|
|
|