]> git.saurik.com Git - iphone-api.git/blob - WebCore/DOMExtensions.h
Add support for new WinterBoard Settings features.
[iphone-api.git] / WebCore / DOMExtensions.h
1 /*
2 * Copyright (C) 2004-2006 Apple Computer, Inc. All rights reserved.
3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27 #import <WebCore/DOMAttr.h>
28 #import <WebCore/DOMCSS.h>
29 #import <WebCore/DOMCSSStyleDeclaration.h>
30 #import <WebCore/DOMDocument.h>
31 #import <WebCore/DOMElement.h>
32 #import <WebCore/DOMHTML.h>
33 #import <WebCore/DOMHTMLAnchorElement.h>
34 #import <WebCore/DOMHTMLAreaElement.h>
35 #import <WebCore/DOMHTMLDocument.h>
36 #import <WebCore/DOMHTMLElement.h>
37 #import <WebCore/DOMHTMLEmbedElement.h>
38 #import <WebCore/DOMHTMLImageElement.h>
39 #import <WebCore/DOMHTMLInputElement.h>
40 #import <WebCore/DOMHTMLLinkElement.h>
41 #import <WebCore/DOMHTMLObjectElement.h>
42 #import <WebCore/DOMNode.h>
43 #import <WebCore/DOMRGBColor.h>
44 #import <WebCore/DOMRange.h>
45
46 #import <CoreGraphics/CoreGraphics.h>
47
48 @class NSArray;
49 @class NSImage;
50 @class NSURL;
51
52
53 @interface DOMHTMLElement (DOMHTMLElementExtensions)
54 - (int)scrollXOffset;
55 - (int)scrollYOffset;
56 - (void)setScrollXOffset:(int)x scrollYOffset:(int)y;
57 - (void)setScrollXOffset:(int)x scrollYOffset:(int)y adjustForPurpleCaret:(BOOL)adjustForPurpleCaret;
58 - (void)absolutePosition:(int *)x :(int *)y :(int *)w :(int *)h;
59 @end
60
61 typedef struct _WKQuad {
62 CGPoint p1;
63 CGPoint p2;
64 CGPoint p3;
65 CGPoint p4;
66 } WKQuad;
67
68 @interface WKQuadObject : NSObject
69 {
70 WKQuad _quad;
71 }
72
73 - (id)initWithQuad:(WKQuad)quad;
74 - (WKQuad)quad;
75 - (CGRect)boundingBox;
76 @end
77
78 @interface DOMNode (DOMNodeExtensions)
79 - (CGRect)boundingBox;
80 - (NSArray *)lineBoxRects WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER);
81
82 - (WKQuad)absoluteQuad;
83 - (NSArray *)lineBoxQuads; // returns array of WKQuadObject
84
85 - (NSURL *)hrefURL;
86 - (CGRect)hrefFrame;
87 - (NSString *)hrefTarget;
88 - (NSString *)hrefLabel;
89 - (NSString *)hrefTitle;
90 - (CGRect)boundingFrame;
91 - (CGRect)innerFrame;
92 - (WKQuad)innerFrameQuad; // takes transforms into account
93 - (float)computedFontSize;
94 - (DOMNode *)nextFocusNode;
95 - (DOMNode *)previousFocusNode;
96 @end
97
98 @interface DOMElement (DOMElementAppKitExtensions)
99 @end
100
101 @interface DOMHTMLDocument (DOMHTMLDocumentExtensions)
102 - (DOMDocumentFragment *)createDocumentFragmentWithMarkupString:(NSString *)markupString baseURL:(NSURL *)baseURL WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER);
103 - (DOMDocumentFragment *)createDocumentFragmentWithText:(NSString *)text WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER);
104 @end
105
106 @interface DOMHTMLAreaElement (DOMHTMLAreaElementExtensions)
107 - (CGRect)boundingFrameForOwner:(DOMNode *)anOwner;
108 @end
109
110 @interface DOMHTMLSelectElement (DOMHTMLSelectElementExtensions)
111 - (DOMNode *)listItemAtIndex:(int)anIndex;
112 @end