1/* 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 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 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. 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 APPLE COMPUTER, INC. ``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 APPLE COMPUTER, INC. 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 */ 25 26#ifndef DO_NO_IMPORTS 27import "oaidl.idl"; 28import "ocidl.idl"; 29import "DOMCore.idl"; 30import "IWebScriptObject.idl"; 31#endif 32 33interface IDOMObject; 34interface IDOMCSSValue; 35interface IDOMCSSStyleDeclaration; 36interface IDOMCSSStyleSheet; 37interface IDOMCSSRule; 38interface IDOMElement; 39 40/* 41 @interface DOMDocument (DOMViewCSS) 42*/ 43[ 44 object, 45 oleautomation, 46 uuid(43EFE238-A4DF-400a-983D-FCE0C0F56BCD), 47 pointer_default(unique) 48] 49interface IDOMViewCSS : IUnknown 50{ 51 /* 52 - (DOMCSSStyleDeclaration *)getComputedStyle:(DOMElement *)elt :(NSString *)pseudoElt; 53 */ 54 HRESULT getComputedStyle([in] IDOMElement* elt, [in] BSTR pseudoElt, [out, retval] IDOMCSSStyleDeclaration** result); 55} 56 57/* 58 @interface DOMCSSRuleList : DOMObject 59*/ 60[ 61 object, 62 oleautomation, 63 uuid(D45DA43D-5EDB-4315-A097-3ED3FA089193), 64 pointer_default(unique) 65] 66interface IDOMCSSRuleList : IDOMObject 67{ 68 /* 69 - (unsigned)length; 70 */ 71 HRESULT length([out, retval] UINT* result); 72 73 /* 74 - (DOMCSSRule *)item:(unsigned)index; 75 */ 76 HRESULT item([in] UINT index, [out, retval] IDOMCSSRule** result); 77} 78 79/* 80 @interface DOMCSSRule : DOMObject 81*/ 82[ 83 object, 84 oleautomation, 85 uuid(05947A31-9E1C-4c98-8608-6688959D6542), 86 pointer_default(unique) 87] 88interface IDOMCSSRule : IDOMObject 89{ 90 /* 91 - (unsigned short)type; 92 */ 93 HRESULT type([out, retval] unsigned short* result); 94 95 /* 96 - (NSString *)cssText; 97 */ 98 HRESULT cssText([out, retval] BSTR* text); 99 100 /* 101 - (void)setCssText:(NSString *)cssText; 102 */ 103 HRESULT setCssText([in] BSTR cssText); 104 105 /* 106 - (DOMCSSStyleSheet *)parentStyleSheet; 107 */ 108 HRESULT parentStyleSheet([out, retval] IDOMCSSStyleSheet** sheet); 109 110 /* 111 - (DOMCSSRule *)parentRule; 112 */ 113 HRESULT parentRule([out, retval] IDOMCSSRule** rule); 114} 115 116/* 117 @interface DOMCSSStyleDeclaration : DOMObject 118*/ 119[ 120 object, 121 oleautomation, 122 uuid(DBBE9A6B-D505-4647-B4AB-40A7CF3EE63E), 123 pointer_default(unique) 124] 125interface IDOMCSSStyleDeclaration : IDOMObject 126{ 127 /* 128 - (NSString *)cssText; 129 */ 130 HRESULT cssText([out, retval] BSTR* result); 131 132 /* 133 - (void)setCssText:(NSString *)cssText; 134 */ 135 HRESULT setCssText([in] BSTR cssText); 136 137 /* 138 - (NSString *)getPropertyValue:(NSString *)propertyName; 139 */ 140 HRESULT getPropertyValue([in] BSTR propertyName, [out, retval] BSTR* result); 141 142 /* 143 - (DOMCSSValue *)getPropertyCSSValue:(NSString *)propertyName; 144 */ 145 HRESULT getPropertyCSSValue([in] BSTR propertyName, [out, retval] IDOMCSSValue** result); 146 147 /* 148 - (NSString *)removeProperty:(NSString *)propertyName; 149 */ 150 HRESULT removeProperty([in] BSTR propertyName, [out, retval] BSTR* result); 151 152 /* 153 - (NSString *)getPropertyPriority:(NSString *)propertyName; 154 */ 155 HRESULT getPropertyPriority([in] BSTR propertyName, [out, retval] BSTR* result); 156 157 /* 158 - (void)setProperty:(NSString *)propertyName :(NSString *)value :(NSString *)priority; 159 */ 160 HRESULT setProperty([in] BSTR propertyName, [in] BSTR value, [in] BSTR priority); 161 162 /* 163 - (unsigned)length; 164 */ 165 HRESULT length([out, retval] UINT* result); 166 167 /* 168 - (NSString *)item:(unsigned)index; 169 */ 170 HRESULT item([in] UINT index, [out, retval] BSTR* result); 171 172 /* 173 - (DOMCSSRule *)parentRule; 174 */ 175 HRESULT parentRule([out, retval] IDOMCSSRule** result); 176} 177 178/* 179 @interface DOMCSSValue : DOMObject 180*/ 181[ 182 object, 183 oleautomation, 184 uuid(51D29553-2AF7-4f52-AFE6-3C59196A8BAA), 185 pointer_default(unique) 186] 187interface IDOMCSSValue : IDOMObject 188{ 189 /* 190 - (NSString *)cssText; 191 */ 192 HRESULT cssText([out, retval] BSTR* text); 193 194 /* 195 - (void)setCssText:(NSString *)cssText; 196 */ 197 HRESULT setCssText([in] BSTR text); 198 199 /* 200 - (unsigned short)cssValueType; 201 */ 202 HRESULT cssValueType([out, retval] unsigned short *valueType); 203} 204 205/* 206 @interface DOMCSSStyleSheet : DOMStyleSheet 207*/ 208[ 209 object, 210 oleautomation, 211 uuid(14B1C213-1458-48a1-AD8F-54BFE64F9ECF), 212 pointer_default(unique) 213] 214interface IDOMCSSStyleSheet : IDOMObject 215{ 216 /* 217 - (DOMCSSRule *)ownerRule; 218 */ 219 HRESULT ownerRule([out, retval] IDOMCSSRule** rule); 220 221 /* 222 - (DOMCSSRuleList *)cssRules; 223 */ 224 HRESULT cssRules([out, retval] IDOMCSSRuleList** ruleList); 225 226 /* 227 - (unsigned)insertRule:(NSString *)rule :(unsigned)index; 228 */ 229 HRESULT insertRule([in] BSTR rule, [in] UINT index, [out, retval] UINT* result); 230 231 /* 232 - (void)deleteRule:(unsigned)index; 233 */ 234 HRESULT deleteRule([in] UINT index); 235} 236 237/* 238 @interface DOMElement (DOMElementCSSInlineStyle) 239*/ 240[ 241 object, 242 oleautomation, 243 uuid(585127E2-D698-44c4-83EC-4D1E6E07E90D), 244 pointer_default(unique) 245] 246interface IDOMElementCSSInlineStyle : IUnknown 247{ 248 /* 249 - (DOMCSSStyleDeclaration *)style; 250 */ 251 HRESULT style([out, retval] IDOMCSSStyleDeclaration** result); 252} 253