47 lines
1.5 KiB
C++
47 lines
1.5 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
|
|
|
|
#include "Private.h"
|
|
#include "KeyHandlerEditSession.h"
|
|
#include "EditSession.h"
|
|
#include "SampleIME.h"
|
|
#include "CompositionProcessorEngine.h"
|
|
#include "KeyStateCategory.h"
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// ITfEditSession
|
|
// CEditSessionBase
|
|
// CKeyHandlerEditSession class
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// CKeyHandlerEditSession::DoEditSession
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
STDAPI CKeyHandlerEditSession::DoEditSession(TfEditCookie ec)
|
|
{
|
|
HRESULT hResult = S_OK;
|
|
|
|
CKeyStateCategoryFactory* pKeyStateCategoryFactory = CKeyStateCategoryFactory::Instance();
|
|
CKeyStateCategory* pKeyStateCategory = pKeyStateCategoryFactory->MakeKeyStateCategory(_KeyState.Category, _pTextService);
|
|
|
|
if (pKeyStateCategory)
|
|
{
|
|
KeyHandlerEditSessionDTO keyHandlerEditSessioDTO(ec, _pContext, _uCode,_wch, _KeyState.Function);
|
|
hResult = pKeyStateCategory->KeyStateHandler(_KeyState.Function, keyHandlerEditSessioDTO);
|
|
|
|
pKeyStateCategory->Release();
|
|
pKeyStateCategoryFactory->Release();
|
|
}
|
|
|
|
return hResult;
|
|
}
|