1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir #ifndef _VCL_INPUTCTX_HXX 29*cdf0e10cSrcweir #define _VCL_INPUTCTX_HXX 30*cdf0e10cSrcweir 31*cdf0e10cSrcweir #include <vcl/sv.h> 32*cdf0e10cSrcweir #include <vcl/dllapi.h> 33*cdf0e10cSrcweir #include <vcl/font.hxx> 34*cdf0e10cSrcweir 35*cdf0e10cSrcweir // ---------------------- 36*cdf0e10cSrcweir // - InputContext-Flags - 37*cdf0e10cSrcweir // ---------------------- 38*cdf0e10cSrcweir 39*cdf0e10cSrcweir #define INPUTCONTEXT_TEXT ((sal_uLong)0x00000001) 40*cdf0e10cSrcweir #define INPUTCONTEXT_EXTTEXTINPUT ((sal_uLong)0x00000002) 41*cdf0e10cSrcweir #define INPUTCONTEXT_EXTTEXTINPUT_ON ((sal_uLong)0x00000004) 42*cdf0e10cSrcweir #define INPUTCONTEXT_EXTTEXTINPUT_OFF ((sal_uLong)0x00000008) 43*cdf0e10cSrcweir 44*cdf0e10cSrcweir // ---------------- 45*cdf0e10cSrcweir // - InputContext - 46*cdf0e10cSrcweir // ---------------- 47*cdf0e10cSrcweir 48*cdf0e10cSrcweir class VCL_DLLPUBLIC InputContext 49*cdf0e10cSrcweir { 50*cdf0e10cSrcweir private: 51*cdf0e10cSrcweir Font maFont; 52*cdf0e10cSrcweir sal_uLong mnOptions; 53*cdf0e10cSrcweir 54*cdf0e10cSrcweir public: 55*cdf0e10cSrcweir InputContext() { mnOptions = 0; } 56*cdf0e10cSrcweir InputContext( const InputContext& rInputContext ) : 57*cdf0e10cSrcweir maFont( rInputContext.maFont ) 58*cdf0e10cSrcweir { mnOptions = rInputContext.mnOptions; } 59*cdf0e10cSrcweir InputContext( const Font& rFont, sal_uLong nOptions = 0 ) : 60*cdf0e10cSrcweir maFont( rFont ) 61*cdf0e10cSrcweir { mnOptions = nOptions; } 62*cdf0e10cSrcweir 63*cdf0e10cSrcweir void SetFont( const Font& rFont ) { maFont = rFont; } 64*cdf0e10cSrcweir const Font& GetFont() const { return maFont; } 65*cdf0e10cSrcweir 66*cdf0e10cSrcweir void SetOptions( sal_uLong nOptions ) { mnOptions = nOptions; } 67*cdf0e10cSrcweir sal_uLong GetOptions() const { return mnOptions; } 68*cdf0e10cSrcweir 69*cdf0e10cSrcweir InputContext& operator=( const InputContext& rInputContext ); 70*cdf0e10cSrcweir sal_Bool operator==( const InputContext& rInputContext ) const; 71*cdf0e10cSrcweir sal_Bool operator!=( const InputContext& rInputContext ) const 72*cdf0e10cSrcweir { return !(InputContext::operator==( rInputContext )); } 73*cdf0e10cSrcweir }; 74*cdf0e10cSrcweir 75*cdf0e10cSrcweir inline InputContext& InputContext::operator=( const InputContext& rInputContext ) 76*cdf0e10cSrcweir { 77*cdf0e10cSrcweir maFont = rInputContext.maFont; 78*cdf0e10cSrcweir mnOptions = rInputContext.mnOptions; 79*cdf0e10cSrcweir return *this; 80*cdf0e10cSrcweir } 81*cdf0e10cSrcweir 82*cdf0e10cSrcweir inline sal_Bool InputContext::operator==( const InputContext& rInputContext ) const 83*cdf0e10cSrcweir { 84*cdf0e10cSrcweir return ((mnOptions == rInputContext.mnOptions) && 85*cdf0e10cSrcweir (maFont == rInputContext.maFont)); 86*cdf0e10cSrcweir } 87*cdf0e10cSrcweir 88*cdf0e10cSrcweir #endif // _VCL_INPUTCTX_HXX 89