76 lines
2.0 KiB
C++
76 lines
2.0 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) 2003 Microsoft Corporation. All rights reserved.
|
|
//
|
|
// DisplayAttribureProvider.cpp
|
|
//
|
|
// ITfDisplayAttributeProvider implementation.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#include "globals.h"
|
|
#include "TextService.h"
|
|
#include "DisplayAttributeInfo.h"
|
|
#include "EnumDisplayAttributeInfo.h"
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// EnumDisplayAttributeInfo
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
STDAPI CTextService::EnumDisplayAttributeInfo(IEnumTfDisplayAttributeInfo **ppEnum)
|
|
{
|
|
CEnumDisplayAttributeInfo *pAttributeEnum;
|
|
|
|
if (ppEnum == NULL)
|
|
return E_INVALIDARG;
|
|
|
|
*ppEnum = NULL;
|
|
|
|
if ((pAttributeEnum = new CEnumDisplayAttributeInfo) == NULL)
|
|
return E_OUTOFMEMORY;
|
|
|
|
*ppEnum = pAttributeEnum;
|
|
|
|
return S_OK;
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// GetDisplayAttributeInfo
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
STDAPI CTextService::GetDisplayAttributeInfo(REFGUID guidInfo, ITfDisplayAttributeInfo **ppInfo)
|
|
{
|
|
if (ppInfo == NULL)
|
|
return E_INVALIDARG;
|
|
|
|
*ppInfo = NULL;
|
|
|
|
// Which display attribute GUID?
|
|
if (IsEqualGUID(guidInfo, c_guidDisplayAttributeInput))
|
|
{
|
|
if ((*ppInfo = new CDisplayAttributeInfoInput()) == NULL)
|
|
return E_OUTOFMEMORY;
|
|
}
|
|
else if (IsEqualGUID(guidInfo, c_guidDisplayAttributeConverted))
|
|
{
|
|
if ((*ppInfo = new CDisplayAttributeInfoConverted()) == NULL)
|
|
return E_OUTOFMEMORY;
|
|
}
|
|
else
|
|
{
|
|
return E_INVALIDARG;
|
|
}
|
|
|
|
|
|
return S_OK;
|
|
}
|