2025-11-28 00:35:46 +09:00

81 lines
1.6 KiB
C++

//
// dispattr.h
//
#pragma once
#include "ctffunc.h"
#define MAX_DISPATTRGUID 10
class CDispAttrProps
{
public:
CDispAttrProps()
{
for (int i = 0;i < MAX_DISPATTRGUID; i++)
{
_guid[i] = GUID_NULL;
_rgpguid[i] = &_guid[i];
}
_nCount = 0;
}
void Add(REFGUID rguid)
{
if (!FindGuid(rguid) && _nCount < MAX_DISPATTRGUID)
{
_guid[_nCount] = rguid;
_nCount++;
}
}
BOOL FindGuid(REFGUID rguid)
{
int i;
for (i = 0; i < _nCount; i++)
{
if (IsEqualGUID(_guid[i], rguid))
{
return TRUE;
}
}
return FALSE;
}
int Count()
{
return _nCount;
}
GUID *GetPropTable()
{
return _guid;
}
const GUID **GetPropTablePointer()
{
return _rgpguid;
}
private:
GUID _guid[MAX_DISPATTRGUID];
const GUID* _rgpguid[MAX_DISPATTRGUID];
int _nCount;
};
CDispAttrProps *GetDispAttrProps();
HRESULT InitDisplayAttrbute();
HRESULT UninitDisplayAttrbute();
HRESULT GetDisplayAttributeTrackPropertyRange(TfEditCookie ec, ITfContext *pic, ITfRange *pRange, ITfReadOnlyProperty **ppProp, CDispAttrProps *pDispAttrProps);
HRESULT GetDisplayAttributeData(TfEditCookie ec, ITfReadOnlyProperty *pProp, ITfRange *pRange, TF_DISPLAYATTRIBUTE *pda, TfClientId *pguid);
HRESULT GetAttributeColor(TF_DA_COLOR *pdac, COLORREF *pcr);
HRESULT SetAttributeColor(TF_DA_COLOR *pdac, COLORREF cr);
HRESULT SetAttributeSysColor(TF_DA_COLOR *pdac, int nIndex);
HRESULT ClearAttributeColor(TF_DA_COLOR *pdac);