88 lines
2.6 KiB
C++
88 lines
2.6 KiB
C++
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|
|
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
|
// PARTICULAR PURPOSE.
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved
|
|
|
|
|
|
#pragma once
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// CDisplayAttributeInfo class
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
class CDisplayAttributeInfo : public ITfDisplayAttributeInfo
|
|
{
|
|
public:
|
|
CDisplayAttributeInfo();
|
|
~CDisplayAttributeInfo();
|
|
|
|
// IUnknown
|
|
STDMETHODIMP QueryInterface(REFIID riid, _Outptr_ void **ppvObj);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// ITfDisplayAttributeInfo
|
|
STDMETHODIMP GetGUID(_Out_ GUID *pguid);
|
|
STDMETHODIMP GetDescription(_Out_ BSTR *pbstrDesc);
|
|
STDMETHODIMP GetAttributeInfo(_Out_ TF_DISPLAYATTRIBUTE *pTSFDisplayAttr);
|
|
STDMETHODIMP SetAttributeInfo(_In_ const TF_DISPLAYATTRIBUTE *ptfDisplayAttr);
|
|
STDMETHODIMP Reset();
|
|
|
|
protected:
|
|
const GUID* _pguid;
|
|
const TF_DISPLAYATTRIBUTE* _pDisplayAttribute;
|
|
const WCHAR* _pDescription;
|
|
const WCHAR* _pValueName;
|
|
|
|
private:
|
|
LONG _refCount; // COM ref count
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// CDisplayAttributeInfoInput class
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
class CDisplayAttributeInfoInput : public CDisplayAttributeInfo
|
|
{
|
|
public:
|
|
CDisplayAttributeInfoInput()
|
|
{
|
|
_pguid = &Global::SampleIMEGuidDisplayAttributeInput;
|
|
_pDisplayAttribute = &_s_DisplayAttribute;
|
|
_pDescription = _s_szDescription;
|
|
_pValueName = _s_szValueName;
|
|
}
|
|
|
|
static const TF_DISPLAYATTRIBUTE _s_DisplayAttribute;
|
|
static const WCHAR _s_szDescription[];
|
|
static const WCHAR _s_szValueName[];
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// CDisplayAttributeInfoConverted class
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
class CDisplayAttributeInfoConverted : public CDisplayAttributeInfo
|
|
{
|
|
public:
|
|
CDisplayAttributeInfoConverted()
|
|
{
|
|
_pguid = &Global::SampleIMEGuidDisplayAttributeConverted;
|
|
_pDisplayAttribute = &_s_DisplayAttribute;
|
|
_pDescription = _s_szDescription;
|
|
_pValueName = _s_szValueName;
|
|
}
|
|
|
|
static const TF_DISPLAYATTRIBUTE _s_DisplayAttribute;
|
|
static const WCHAR _s_szDescription[];
|
|
static const WCHAR _s_szValueName[];
|
|
};
|