?? kjs_html.h
字號:
OptionConstructorImp(ExecState *exec, const DOM::Document &d);
virtual bool implementsConstruct() const;
virtual Object construct(ExecState *exec, const List &args);
private:
DOM::Document doc;
};
////////////////////// Image Object ////////////////////////
class ImageConstructorImp : public ObjectImp {
public:
ImageConstructorImp(ExecState *exec, const DOM::Document &d);
virtual bool implementsConstruct() const;
virtual Object construct(ExecState *exec, const List &args);
private:
DOM::Document doc;
};
class Image : public DOMObject, public khtml::CachedObjectClient {
public:
Image(const DOM::Document &d, bool ws, int w, bool hs, int h);
~Image();
virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
void putValue(ExecState *exec, int token, const Value& value, int /*attr*/);
void notifyFinished(khtml::CachedObject *);
virtual bool toBoolean(ExecState *) const { return true; }
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
enum { Src, Complete, OnLoad, Width, Height };
khtml::CachedImage* image() { return img; }
private:
UString src;
QGuardedPtr<DOM::DocumentImpl> doc;
khtml::CachedImage* img;
JSAbstractEventListener *onLoadListener;
bool widthSet;
bool heightSet;
int width;
int height;
};
////////////////////// Context2D Object ////////////////////////
#if !NOKIA_CHANGES
class Context2D : public DOMObject {
friend class Context2DFunction;
public:
Context2D(const DOM::HTMLElement &e);
~Context2D();
virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
void putValue(ExecState *exec, int token, const Value& value, int /*attr*/);
virtual bool toBoolean(ExecState *) const { return true; }
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
enum {
StrokeStyle,
FillStyle,
LineWidth,
LineCap,
LineJoin,
MiterLimit,
ShadowOffsetX,
ShadowOffsetY,
ShadowBlur,
ShadowColor,
GlobalAlpha,
GlobalCompositeOperation,
Save, Restore,
Scale, Rotate, Translate,
BeginPath, ClosePath,
SetStrokeColor, SetFillColor, SetLineWidth, SetLineCap, SetLineJoin, SetMiterLimit,
Fill, Stroke,
MoveTo, LineTo, QuadraticCurveTo, BezierCurveTo, ArcTo, Arc, Rect, Clip,
ClearRect, FillRect, StrokeRect,
DrawImage, DrawImageFromRect,
SetShadow, ClearShadow,
SetAlpha, SetCompositeOperation,
CreateLinearGradient,
CreateRadialGradient,
CreatePattern
};
static CGColorRef Context2D::colorRefFromValue(ExecState *exec, const Value &value);
static QColor Context2D::colorFromValue(ExecState *exec, const Value &value);
private:
void save();
void restore();
CGContextRef drawingContext();
void setShadow(ExecState *exec);
DOM::HTMLElementImpl *_element;
unsigned int _needsFlushRasterCache;
QPtrList<List> stateStack;
ProtectedValue _strokeStyle;
ProtectedValue _fillStyle;
ProtectedValue _lineWidth;
ProtectedValue _lineCap;
ProtectedValue _lineJoin;
ProtectedValue _miterLimit;
ProtectedValue _shadowOffsetX;
ProtectedValue _shadowOffsetY;
ProtectedValue _shadowBlur;
ProtectedValue _shadowColor;
ProtectedValue _globalAlpha;
ProtectedValue _globalComposite;
};
struct ColorStop {
float stop;
float red;
float green;
float blue;
float alpha;
ColorStop(float s, float r, float g, float b, float a) : stop(s), red(r), green(g), blue(b), alpha(a) {};
};
class Gradient : public DOMObject {
friend class Context2DFunction;
public:
//Gradient(const DOM::HTMLElement &e);
Gradient(float x0, float y0, float x1, float y1);
Gradient(float x0, float y0, float r0, float x1, float y1, float r1);
~Gradient();
virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
void putValue(ExecState *exec, int token, const Value& value, int /*attr*/);
virtual bool toBoolean(ExecState *) const { return true; }
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
enum {
AddColorStop
};
enum {
Radial, Linear
};
CGShadingRef getShading();
void addColorStop (float s, float r, float g, float b, float alpha);
const ColorStop *colorStops(int *count) const;
int lastStop;
int nextStop;
private:
void commonInit();
int _gradientType;
float _x0, _y0, _r0, _x1, _y1, _r1;
CGShadingRef _shadingRef;
int maxStops;
int stopCount;
ColorStop *stops;
mutable int adjustedStopCount;
mutable ColorStop *adjustedStops;
mutable unsigned int stopsNeedAdjusting:1;
mutable unsigned int regenerateShading:1;
};
class ImagePattern : public DOMObject {
public:
ImagePattern(Image *i, int type);
~ImagePattern();
virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
void putValue(ExecState *exec, int token, const Value& value, int /*attr*/);
virtual bool toBoolean(ExecState *) const { return true; }
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
CGPatternRef getPattern() { return _patternRef; }
QPixmap pixmap() { return _pixmap; }
enum {
Repeat, RepeatX, RepeatY, NoRepeat
};
private:
int _repetitionType;
QPixmap _pixmap;
CGPatternRef _patternRef;
};
#endif // NOKIA_CHANGES
Value getHTMLCollection(ExecState *exec, const DOM::HTMLCollection &c);
Value getSelectHTMLCollection(ExecState *exec, const DOM::HTMLCollection &c, const DOM::HTMLSelectElement &e);
}; // namespace
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -