williamr@2: // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // e32\include\e32twin.h williamr@2: // williamr@2: // williamr@2: williamr@2: #ifndef __E32TWIN_H__ williamr@2: #define __E32TWIN_H__ williamr@2: #include williamr@2: // williamr@2: williamr@2: /** @internalComponent */ williamr@2: _LIT(KE32WindowServer,"!E32WindowServer"); williamr@2: williamr@2: /** @internalTechnology */ williamr@2: enum TEventType williamr@2: { williamr@2: EKeyPress, williamr@2: EMouseClick williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedPartner williamr@2: @released williamr@2: */ williamr@2: enum TVideoMode williamr@2: { williamr@2: EMono=1, williamr@2: EGray4=2, williamr@2: EGray16=4, williamr@2: EColor256=8, williamr@2: EColor4K=12, williamr@2: EColor64K=16, williamr@2: EColor16M=24 williamr@2: williamr@2: }; williamr@2: williamr@2: /** @internalTechnology */ williamr@2: struct SConsoleKey williamr@2: { williamr@2: TKeyCode iCode; williamr@2: TUint iModifiers; williamr@2: TPoint iMousePos; williamr@2: TInt iType; williamr@2: }; williamr@2: williamr@2: /** @internalTechnology */ williamr@2: class TConsoleKey : public TPckgBuf williamr@2: { williamr@2: public: williamr@2: IMPORT_C TKeyCode Code() const; williamr@2: IMPORT_C TInt Modifiers() const; williamr@2: IMPORT_C TInt Type() const; williamr@2: IMPORT_C TPoint MousePos() const; williamr@2: }; williamr@2: williamr@2: /** @internalTechnology */ williamr@2: class RConsole : public RSessionBase williamr@2: { williamr@2: public: williamr@2: IMPORT_C TVersion Version(); williamr@2: TInt Connect(); williamr@2: IMPORT_C TInt Create(); williamr@2: IMPORT_C TInt Init(const TDesC &aName,const TSize &aSize); williamr@2: IMPORT_C TInt Write(const TDesC &aDes); williamr@2: IMPORT_C TInt ClearScreen(); williamr@2: IMPORT_C TInt ClearToEndOfLine(); williamr@2: IMPORT_C TInt Destroy(); williamr@2: IMPORT_C TInt SetTitle(const TDesC &aName); williamr@2: IMPORT_C TInt SetSize(const TSize &aSize); williamr@2: IMPORT_C TInt SetWindowPosAbs(const TPoint &aPosition); williamr@2: IMPORT_C TInt SetCursorHeight(TInt aPercentage); williamr@2: IMPORT_C TInt SetCursorPosAbs(const TPoint &aPosition); williamr@2: IMPORT_C TInt SetCursorPosRel(const TPoint &aVector); williamr@2: IMPORT_C TInt Size(TSize &aSize) const; williamr@2: IMPORT_C TInt ScreenSize(TSize &aSize) const; williamr@2: IMPORT_C TInt CursorPos(TPoint &aPosition) const; williamr@2: IMPORT_C TInt Control(const TDesC &aDes); williamr@2: IMPORT_C TInt Read(TConsoleKey &aKeystroke); williamr@2: IMPORT_C void Read(TConsoleKey &aKeystroke,TRequestStatus &aStatus); williamr@2: IMPORT_C TInt ReadCancel(); williamr@2: IMPORT_C TInt SetMode(TVideoMode aMode); williamr@2: IMPORT_C void SetPaletteEntry(TUint anIndex,TUint8 aRed,TUint8 aGreen,TUint8 aBlue); williamr@2: IMPORT_C void GetPaletteEntry(TUint anIndex,TUint8 &aRed,TUint8 &aGreen,TUint8 &aBlue); williamr@2: IMPORT_C void SetTextColors(TUint anFgColor,TUint aBgColor); williamr@2: IMPORT_C void SetUIColors(TUint aWindowBgColor,TUint aBorderColor,TUint aScreenColor); williamr@2: IMPORT_C void SetTextAttribute(TTextAttribute anAttribute); williamr@2: }; williamr@2: williamr@2: /** @internalComponent */ williamr@2: NONSHARABLE_CLASS(CConsoleTextWin) : public CConsoleBase williamr@2: { williamr@2: public: williamr@2: static CConsoleTextWin *NewL(const TDesC &aTitle,TSize aSize); williamr@2: CConsoleTextWin(); williamr@2: virtual ~CConsoleTextWin(); williamr@2: virtual TInt Create(const TDesC &aTitle,TSize aSize); williamr@2: virtual void Read(TRequestStatus &aStatus); williamr@2: virtual void ReadCancel(); williamr@2: virtual void Write(const TDesC &aDes); williamr@2: virtual TPoint CursorPos() const; williamr@2: virtual void SetCursorPosAbs(const TPoint &aPoint); williamr@2: virtual void SetCursorPosRel(const TPoint &aPoint); williamr@2: virtual void SetCursorHeight(TInt aPercentage); williamr@2: virtual void SetTitle(const TDesC &aTitle); williamr@2: virtual void ClearScreen(); williamr@2: virtual void ClearToEndOfLine(); williamr@2: virtual TSize ScreenSize() const; williamr@2: virtual TKeyCode KeyCode() const; williamr@2: virtual TUint KeyModifiers() const; williamr@2: virtual void SetTextAttribute(TTextAttribute anAttribute); williamr@2: RConsole &Console(); williamr@2: private: williamr@2: TConsoleKey iKey; williamr@2: RConsole iConsole; williamr@2: }; williamr@2: #endif