First commit.
This commit is contained in:
commit
7b83802bb2
103 files changed
+19016
No files matched your search
@@ -0,0 +1,227 @@
|
||||
// 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
|
||||
|
||||
#include "Private.h"
|
||||
#include "globals.h"
|
||||
#include "DisplayAttributeInfo.h"
|
||||
#include "TfInputProcessorProfile.h"
|
||||
|
||||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// The registry key and values
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
// the registry values of the custmized display attributes
|
||||
const WCHAR CDisplayAttributeInfoInput::_s_szValueName[] = L"DisplayAttributeInput";
|
||||
const WCHAR CDisplayAttributeInfoConverted::_s_szValueName[] = L"DisplayAttributeConverted";
|
||||
|
||||
// The descriptions
|
||||
const WCHAR CDisplayAttributeInfoInput::_s_szDescription[] = L"Sample IME Text Service Display Attribute Input";
|
||||
const WCHAR CDisplayAttributeInfoConverted::_s_szDescription[] = L"Sample IME Text Service Display Attribute Converted";
|
||||
|
||||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// DisplayAttribute
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
const TF_DISPLAYATTRIBUTE CDisplayAttributeInfoInput::_s_DisplayAttribute =
|
||||
{
|
||||
{ TF_CT_COLORREF, RGB(0, 103,206) }, // text color
|
||||
{ TF_CT_NONE, 0 }, // background color (TF_CT_NONE => app default)
|
||||
TF_LS_DOT, // underline style
|
||||
FALSE, // underline boldness
|
||||
{ TF_CT_COLORREF, RGB(0, 103,206) }, // underline color
|
||||
TF_ATTR_INPUT // attribute info
|
||||
};
|
||||
|
||||
const TF_DISPLAYATTRIBUTE CDisplayAttributeInfoConverted::_s_DisplayAttribute =
|
||||
{
|
||||
{ TF_CT_COLORREF, RGB(255, 255, 255) }, // text color
|
||||
{ TF_CT_COLORREF, RGB( 0, 255, 255) }, // background color (TF_CT_NONE => app default)
|
||||
TF_LS_NONE, // underline style
|
||||
FALSE, // underline boldness
|
||||
{ TF_CT_NONE, 0 }, // underline color
|
||||
TF_ATTR_TARGET_CONVERTED // attribute info
|
||||
};
|
||||
|
||||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// ctor
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
CDisplayAttributeInfo::CDisplayAttributeInfo()
|
||||
{
|
||||
DllAddRef();
|
||||
|
||||
_pguid = nullptr;
|
||||
_pDisplayAttribute = nullptr;
|
||||
_pValueName = nullptr;
|
||||
|
||||
_refCount = 1;
|
||||
}
|
||||
|
||||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// dtor
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
CDisplayAttributeInfo::~CDisplayAttributeInfo()
|
||||
{
|
||||
DllRelease();
|
||||
}
|
||||
|
||||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// QueryInterface
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
STDAPI CDisplayAttributeInfo::QueryInterface(REFIID riid, _Outptr_ void **ppvObj)
|
||||
{
|
||||
if (ppvObj == nullptr)
|
||||
return E_INVALIDARG;
|
||||
|
||||
*ppvObj = nullptr;
|
||||
|
||||
if (IsEqualIID(riid, IID_IUnknown) ||
|
||||
IsEqualIID(riid, IID_ITfDisplayAttributeInfo))
|
||||
{
|
||||
*ppvObj = (ITfDisplayAttributeInfo *)this;
|
||||
}
|
||||
|
||||
if (*ppvObj)
|
||||
{
|
||||
AddRef();
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// AddRef
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
ULONG CDisplayAttributeInfo::AddRef(void)
|
||||
{
|
||||
return ++_refCount;
|
||||
}
|
||||
|
||||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// Release
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
ULONG CDisplayAttributeInfo::Release(void)
|
||||
{
|
||||
LONG cr = --_refCount;
|
||||
|
||||
assert(_refCount >= 0);
|
||||
|
||||
if (_refCount == 0)
|
||||
{
|
||||
delete this;
|
||||
}
|
||||
|
||||
return cr;
|
||||
}
|
||||
|
||||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// ITfDisplayAttributeInfo::GetGUID
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
STDAPI CDisplayAttributeInfo::GetGUID(_Out_ GUID *pguid)
|
||||
{
|
||||
if (pguid == nullptr)
|
||||
return E_INVALIDARG;
|
||||
|
||||
if (_pguid == nullptr)
|
||||
return E_FAIL;
|
||||
|
||||
*pguid = *_pguid;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// ITfDisplayAttributeInfo::GetDescription
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
STDAPI CDisplayAttributeInfo::GetDescription(_Out_ BSTR *pbstrDesc)
|
||||
{
|
||||
BSTR tempDesc;
|
||||
|
||||
if (pbstrDesc == nullptr)
|
||||
{
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
*pbstrDesc = nullptr;
|
||||
|
||||
if ((tempDesc = SysAllocString(_pDescription)) == nullptr)
|
||||
{
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
*pbstrDesc = tempDesc;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// ITfDisplayAttributeInfo::GetAttributeInfo
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
STDAPI CDisplayAttributeInfo::GetAttributeInfo(_Out_ TF_DISPLAYATTRIBUTE *ptfDisplayAttr)
|
||||
{
|
||||
if (ptfDisplayAttr == nullptr)
|
||||
{
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
// return the default display attribute.
|
||||
*ptfDisplayAttr = *_pDisplayAttribute;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// ITfDisplayAttributeInfo::SetAttributeInfo
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
STDAPI CDisplayAttributeInfo::SetAttributeInfo(_In_ const TF_DISPLAYATTRIBUTE *ptfDisplayAttr)
|
||||
{
|
||||
ptfDisplayAttr;
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// ITfDisplayAttributeInfo::Reset
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
STDAPI CDisplayAttributeInfo::Reset()
|
||||
{
|
||||
return SetAttributeInfo(_pDisplayAttribute);
|
||||
}
|
||||
Reference in new issue
Block a user