Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
3.4 KiB

  1. /*****************************************************************************\
  2. FILE: thStyle.h
  3. DESCRIPTION:
  4. This is the Autmation Object to theme style object. This one will be
  5. for the Skin objects.
  6. BryanSt 5/13/2000 (Bryan Starbuck)
  7. Copyright (C) Microsoft Corp 2000-2000. All rights reserved.
  8. \*****************************************************************************/
  9. #ifndef _FILE_H_THSTYLE
  10. #define _FILE_H_THSTYLE
  11. #include <cowsite.h>
  12. #include <atlbase.h>
  13. HRESULT CSkinStyle_CreateInstance(IN LPCWSTR pszFilename, IN LPCWSTR pszStyleName, IN LPCWSTR pszDisplayName, OUT IThemeStyle ** ppThemeStyle);
  14. HRESULT CSkinStyle_CreateInstance(IN LPCWSTR pszFilename, IN LPCWSTR pszStyleName, OUT IThemeStyle ** ppThemeStyle);
  15. class CSkinStyle : public IThemeStyle
  16. {
  17. public:
  18. //////////////////////////////////////////////////////
  19. // Public Interfaces
  20. //////////////////////////////////////////////////////
  21. // *** IUnknown ***
  22. virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj);
  23. virtual STDMETHODIMP_(ULONG) AddRef(void);
  24. virtual STDMETHODIMP_(ULONG) Release(void);
  25. // *** IThemeStyle ***
  26. virtual STDMETHODIMP get_DisplayName(OUT BSTR * pbstrDisplayName);
  27. virtual STDMETHODIMP put_DisplayName(IN BSTR bstrDisplayName);
  28. virtual STDMETHODIMP get_Name(OUT BSTR * pbstrName);
  29. virtual STDMETHODIMP put_Name(IN BSTR bstrName);
  30. virtual STDMETHODIMP get_length(OUT long * pnLength);
  31. virtual STDMETHODIMP get_item(IN VARIANT varIndex, OUT IThemeSize ** ppThemeSize);
  32. virtual STDMETHODIMP get_SelectedSize(OUT IThemeSize ** ppThemeSize);
  33. virtual STDMETHODIMP put_SelectedSize(IN IThemeSize * pThemeSize);
  34. virtual STDMETHODIMP AddSize(OUT IThemeSize ** ppThemeSize);
  35. // *** IDispatch ***
  36. virtual STDMETHODIMP GetTypeInfoCount(UINT *pctinfo) { return E_ACCESSDENIED; }
  37. virtual STDMETHODIMP GetTypeInfo(UINT itinfo,LCID lcid,ITypeInfo **pptinfo) { return E_ACCESSDENIED; }
  38. virtual STDMETHODIMP GetIDsOfNames(REFIID riid,OLECHAR **rgszNames,UINT cNames, LCID lcid, DISPID * rgdispid) { return E_ACCESSDENIED; }
  39. virtual STDMETHODIMP Invoke(DISPID dispidMember,REFIID riid,LCID lcid,WORD wFlags, DISPPARAMS * pdispparams, VARIANT * pvarResult, EXCEPINFO * pexcepinfo,UINT * puArgErr) { return E_ACCESSDENIED; }
  40. private:
  41. CSkinStyle(IN LPCWSTR pszFilename, IN LPCWSTR pszStyleName, IN LPCWSTR pszDisplayName);
  42. virtual ~CSkinStyle(void);
  43. // Private Member Variables
  44. long m_cRef;
  45. LPWSTR m_pszFilename; // This is the full path to the ".thx" file
  46. LPWSTR m_pszDisplayName; // This is the display name of the color style
  47. LPWSTR m_pszStyleName; // This is the canonical name of the color style
  48. long m_nSize; // The size of the collection of Sizes.
  49. IThemeSize * m_pSelectedSize; // The selected size.
  50. // Private Member Functions
  51. // Friend Functions
  52. friend HRESULT CSkinStyle_CreateInstance(IN LPCWSTR pszFilename, IN LPCWSTR pszStyleName, IN LPCWSTR pszDisplayName, OUT IThemeStyle ** ppThemeStyle);
  53. friend HRESULT CSkinStyle_CreateInstance(IN LPCWSTR pszFilename, IN LPCWSTR pszStyleName, OUT IThemeStyle ** ppThemeStyle);
  54. };
  55. #endif // _FILE_H_THSTYLE