62 lines
1.7 KiB
C++
62 lines
1.7 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.
|
|
//
|
|
// Composition.cpp
|
|
//
|
|
// ITfCompositionSink interface and compositon utilities
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#include "Globals.h"
|
|
#include "TextService.h"
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// OnCompositionTerminated
|
|
//
|
|
// Callback for ITfCompositionSink. The system calls this method whenever
|
|
// someone other than this service ends a composition.
|
|
//----------------------------------------------------------------------------
|
|
|
|
STDAPI CTextService::OnCompositionTerminated(TfEditCookie ecWrite, ITfComposition *pComposition)
|
|
{
|
|
|
|
// releae our cached composition
|
|
if (_pComposition != NULL)
|
|
{
|
|
_pComposition->Release();
|
|
_pComposition = NULL;
|
|
}
|
|
|
|
return S_OK;
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// _IsComposing
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
BOOL CTextService::_IsComposing()
|
|
{
|
|
return _pComposition != NULL;
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// _SetComposition
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
void CTextService::_SetComposition(ITfComposition *pComposition)
|
|
{
|
|
_pComposition = pComposition;
|
|
}
|
|
|