~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/dlls/mshtml/htmlscreen.c

Version: ~ [ wine-1.5.30 ] ~ [ wine-1.5.29 ] ~ [ wine-1.5.28 ] ~ [ wine-1.5.27 ] ~ [ wine-1.5.26 ] ~ [ wine-1.5.25 ] ~ [ wine-1.5.24 ] ~ [ wine-1.5.23 ] ~ [ wine-1.5.22 ] ~ [ wine-1.5.21 ] ~ [ wine-1.5.20 ] ~ [ wine-1.5.19 ] ~ [ wine-1.5.18 ] ~ [ wine-1.5.17 ] ~ [ wine-1.5.16 ] ~ [ wine-1.5.15 ] ~ [ wine-1.5.14 ] ~ [ wine-1.5.13 ] ~ [ wine-1.5.12 ] ~ [ wine-1.5.11 ] ~ [ wine-1.5.10 ] ~ [ wine-1.5.9 ] ~ [ wine-1.5.8 ] ~ [ wine-1.5.7 ] ~ [ wine-1.4.1 ] ~ [ wine-1.5.6 ] ~ [ wine-1.5.5 ] ~ [ wine-1.5.4 ] ~ [ wine-1.5.3 ] ~ [ wine-1.5.2 ] ~ [ wine-1.5.1 ] ~ [ wine-1.5.0 ] ~ [ wine-1.4 ] ~ [ wine-1.4-rc6 ] ~ [ wine-1.4-rc5 ] ~ [ wine-1.4-rc4 ] ~ [ wine-1.4-rc3 ] ~ [ wine-1.4-rc2 ] ~ [ wine-1.4-rc1 ] ~ [ wine-1.3.37 ] ~ [ wine-1.3.36 ] ~ [ wine-1.3.35 ] ~ [ wine-1.3.34 ] ~ [ wine-1.3.33 ] ~ [ wine-1.3.32 ] ~ [ wine-1.3.31 ] ~ [ wine-1.3.30 ] ~ [ wine-1.3.29 ] ~ [ wine-1.3.28 ] ~ [ wine-1.3.27 ] ~ [ wine-1.3.26 ] ~ [ wine-1.3.25 ] ~ [ wine-1.3.24 ] ~ [ wine-1.3.23 ] ~ [ wine-1.3.22 ] ~ [ wine-1.3.21 ] ~ [ wine-1.3.20 ] ~ [ wine-1.3.19 ] ~ [ wine-1.3.18 ] ~ [ wine-1.2.3 ] ~ [ wine-1.3.17 ] ~ [ wine-1.3.16 ] ~ [ wine-1.3.15 ] ~ [ wine-1.3.14 ] ~ [ wine-1.3.13 ] ~ [ wine-1.3.12 ] ~ [ wine-1.3.11 ] ~ [ wine-1.3.10 ] ~ [ wine-1.3.9 ] ~ [ wine-1.2.2 ] ~ [ wine-1.3.8 ] ~ [ wine-1.3.7 ] ~ [ wine-1.3.6 ] ~ [ wine-1.3.5 ] ~ [ wine-1.2.1 ] ~ [ wine-1.3.4 ] ~ [ wine-1.3.3 ] ~ [ wine-1.3.2 ] ~ [ wine-1.3.1 ] ~ [ wine-1.3.0 ] ~ [ wine-1.2 ] ~ [ wine-1.2-rc7 ] ~ [ wine-1.2-rc6 ] ~ [ wine-1.2-rc5 ] ~ [ wine-1.2-rc4 ] ~ [ wine-1.2-rc3 ] ~ [ wine-1.2-rc2 ] ~ [ wine-1.2-rc1 ] ~ [ wine-1.1.44 ] ~ [ wine-1.1.43 ] ~ [ wine-1.1.42 ] ~ [ wine-1.1.41 ] ~ [ wine-1.1.40 ] ~ [ wine-1.1.39 ] ~ [ wine-1.1.38 ] ~ [ wine-1.1.37 ] ~ [ wine-1.1.36 ] ~ [ wine-1.1.35 ] ~ [ wine-1.1.34 ] ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * Copyright 2009 Jacek Caban for CodeWeavers
  3  *
  4  * This library is free software; you can redistribute it and/or
  5  * modify it under the terms of the GNU Lesser General Public
  6  * License as published by the Free Software Foundation; either
  7  * version 2.1 of the License, or (at your option) any later version.
  8  *
  9  * This library is distributed in the hope that it will be useful,
 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12  * Lesser General Public License for more details.
 13  *
 14  * You should have received a copy of the GNU Lesser General Public
 15  * License along with this library; if not, write to the Free Software
 16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 17  */
 18 
 19 #include <stdarg.h>
 20 
 21 #define COBJMACROS
 22 
 23 #include "windef.h"
 24 #include "winbase.h"
 25 #include "winuser.h"
 26 #include "ole2.h"
 27 
 28 #include "wine/debug.h"
 29 
 30 #include "mshtml_private.h"
 31 
 32 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
 33 
 34 typedef struct {
 35     DispatchEx dispex;
 36     const IHTMLScreenVtbl *lpIHTMLScreenVtbl;
 37 
 38     LONG ref;
 39 } HTMLScreen;
 40 
 41 #define HTMLSCREEN(x)  ((IHTMLScreen*)  &(x)->lpIHTMLScreenVtbl)
 42 
 43 #define HTMLSCREEN_THIS(iface) DEFINE_THIS(HTMLScreen, IHTMLScreen, iface)
 44 
 45 static HRESULT WINAPI HTMLScreen_QueryInterface(IHTMLScreen *iface, REFIID riid, void **ppv)
 46 {
 47     HTMLScreen *This = HTMLSCREEN_THIS(iface);
 48 
 49     *ppv = NULL;
 50 
 51     if(IsEqualGUID(&IID_IUnknown, riid)) {
 52         TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
 53         *ppv = HTMLSCREEN(This);
 54     }else if(IsEqualGUID(&IID_IHTMLScreen, riid)) {
 55         TRACE("(%p)->(IID_IHTMLScreen %p)\n", This, ppv);
 56         *ppv = HTMLSCREEN(This);
 57     }else if(dispex_query_interface(&This->dispex, riid, ppv)) {
 58         return *ppv ? S_OK : E_NOINTERFACE;
 59     }
 60 
 61     if(*ppv) {
 62         IUnknown_AddRef((IUnknown*)*ppv);
 63         return S_OK;
 64     }
 65 
 66     WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
 67     return E_NOINTERFACE;
 68 }
 69 
 70 static ULONG WINAPI HTMLScreen_AddRef(IHTMLScreen *iface)
 71 {
 72     HTMLScreen *This = HTMLSCREEN_THIS(iface);
 73     LONG ref = InterlockedIncrement(&This->ref);
 74 
 75     TRACE("(%p) ref=%d\n", This, ref);
 76 
 77     return ref;
 78 }
 79 
 80 static ULONG WINAPI HTMLScreen_Release(IHTMLScreen *iface)
 81 {
 82     HTMLScreen *This = HTMLSCREEN_THIS(iface);
 83     LONG ref = InterlockedDecrement(&This->ref);
 84 
 85     TRACE("(%p) ref=%d\n", This, ref);
 86 
 87     if(!ref) {
 88         release_dispex(&This->dispex);
 89         heap_free(This);
 90     }
 91 
 92     return ref;
 93 }
 94 
 95 static HRESULT WINAPI HTMLScreen_GetTypeInfoCount(IHTMLScreen *iface, UINT *pctinfo)
 96 {
 97     HTMLScreen *This = HTMLSCREEN_THIS(iface);
 98     FIXME("(%p)\n", This);
 99     return E_NOTIMPL;
100 }
101 
102 static HRESULT WINAPI HTMLScreen_GetTypeInfo(IHTMLScreen *iface, UINT iTInfo,
103         LCID lcid, ITypeInfo **ppTInfo)
104 {
105     HTMLScreen *This = HTMLSCREEN_THIS(iface);
106     FIXME("(%p)\n", This);
107     return E_NOTIMPL;
108 }
109 
110 static HRESULT WINAPI HTMLScreen_GetIDsOfNames(IHTMLScreen *iface, REFIID riid,
111         LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
112 {
113     HTMLScreen *This = HTMLSCREEN_THIS(iface);
114     FIXME("(%p)\n", This);
115     return E_NOTIMPL;
116 }
117 
118 static HRESULT WINAPI HTMLScreen_Invoke(IHTMLScreen *iface, DISPID dispIdMember,
119         REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
120         VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
121 {
122     HTMLScreen *This = HTMLSCREEN_THIS(iface);
123     FIXME("(%p)\n", This);
124     return E_NOTIMPL;
125 }
126 
127 static HRESULT WINAPI HTMLScreen_get_colorDepth(IHTMLScreen *iface, LONG *p)
128 {
129     HTMLScreen *This = HTMLSCREEN_THIS(iface);
130 
131     TRACE("(%p)->(%p)\n", This, p);
132 
133     *p = GetDeviceCaps(get_display_dc(), BITSPIXEL);
134     return S_OK;
135 }
136 
137 static HRESULT WINAPI HTMLScreen_put_bufferDepth(IHTMLScreen *iface, LONG v)
138 {
139     HTMLScreen *This = HTMLSCREEN_THIS(iface);
140     FIXME("(%p)->(%d)\n", This, v);
141     return E_NOTIMPL;
142 }
143 
144 static HRESULT WINAPI HTMLScreen_get_bufferDepth(IHTMLScreen *iface, LONG *p)
145 {
146     HTMLScreen *This = HTMLSCREEN_THIS(iface);
147     FIXME("(%p)->(%p)\n", This, p);
148     return E_NOTIMPL;
149 }
150 
151 static HRESULT WINAPI HTMLScreen_get_width(IHTMLScreen *iface, LONG *p)
152 {
153     HTMLScreen *This = HTMLSCREEN_THIS(iface);
154 
155     TRACE("(%p)->(%p)\n", This, p);
156 
157     *p = GetDeviceCaps(get_display_dc(), HORZRES);
158     return S_OK;
159 }
160 
161 static HRESULT WINAPI HTMLScreen_get_height(IHTMLScreen *iface, LONG *p)
162 {
163     HTMLScreen *This = HTMLSCREEN_THIS(iface);
164 
165     TRACE("(%p)->(%p)\n", This, p);
166 
167     *p = GetDeviceCaps(get_display_dc(), VERTRES);
168     return S_OK;
169 }
170 
171 static HRESULT WINAPI HTMLScreen_put_updateInterval(IHTMLScreen *iface, LONG v)
172 {
173     HTMLScreen *This = HTMLSCREEN_THIS(iface);
174     FIXME("(%p)->(%d)\n", This, v);
175     return E_NOTIMPL;
176 }
177 
178 static HRESULT WINAPI HTMLScreen_get_updateInterval(IHTMLScreen *iface, LONG *p)
179 {
180     HTMLScreen *This = HTMLSCREEN_THIS(iface);
181     FIXME("(%p)->(%p)\n", This, p);
182     return E_NOTIMPL;
183 }
184 
185 static HRESULT WINAPI HTMLScreen_get_availHeight(IHTMLScreen *iface, LONG *p)
186 {
187     HTMLScreen *This = HTMLSCREEN_THIS(iface);
188     FIXME("(%p)->(%p)\n", This, p);
189     return E_NOTIMPL;
190 }
191 
192 static HRESULT WINAPI HTMLScreen_get_availWidth(IHTMLScreen *iface, LONG *p)
193 {
194     HTMLScreen *This = HTMLSCREEN_THIS(iface);
195     FIXME("(%p)->(%p)\n", This, p);
196     return E_NOTIMPL;
197 }
198 
199 static HRESULT WINAPI HTMLScreen_get_fontSmoothingEnabled(IHTMLScreen *iface, VARIANT_BOOL *p)
200 {
201     HTMLScreen *This = HTMLSCREEN_THIS(iface);
202     FIXME("(%p)->(%p)\n", This, p);
203     return E_NOTIMPL;
204 }
205 
206 #undef HTMLSCREEN_THIS
207 
208 static const IHTMLScreenVtbl HTMLSreenVtbl = {
209     HTMLScreen_QueryInterface,
210     HTMLScreen_AddRef,
211     HTMLScreen_Release,
212     HTMLScreen_GetTypeInfoCount,
213     HTMLScreen_GetTypeInfo,
214     HTMLScreen_GetIDsOfNames,
215     HTMLScreen_Invoke,
216     HTMLScreen_get_colorDepth,
217     HTMLScreen_put_bufferDepth,
218     HTMLScreen_get_bufferDepth,
219     HTMLScreen_get_width,
220     HTMLScreen_get_height,
221     HTMLScreen_put_updateInterval,
222     HTMLScreen_get_updateInterval,
223     HTMLScreen_get_availHeight,
224     HTMLScreen_get_availWidth,
225     HTMLScreen_get_fontSmoothingEnabled
226 };
227 
228 static const tid_t HTMLScreen_iface_tids[] = {
229     IHTMLScreen_tid,
230     0
231 };
232 static dispex_static_data_t HTMLScreen_dispex = {
233     NULL,
234     DispHTMLScreen_tid,
235     NULL,
236     HTMLScreen_iface_tids
237 };
238 
239 HRESULT HTMLScreen_Create(IHTMLScreen **ret)
240 {
241     HTMLScreen *screen;
242 
243     screen = heap_alloc_zero(sizeof(HTMLScreen));
244     if(!screen)
245         return E_OUTOFMEMORY;
246 
247     screen->lpIHTMLScreenVtbl = &HTMLSreenVtbl;
248     screen->ref = 1;
249 
250     init_dispex(&screen->dispex, (IUnknown*)HTMLSCREEN(screen), &HTMLScreen_dispex);
251 
252     *ret = HTMLSCREEN(screen);
253     return S_OK;
254 }
255 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.