⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testappview.cpp

📁 大名鼎鼎的远程登录软件putty的Symbian版源码
💻 CPP
字号:
/*    testappview.cpp * * Test View class * * Copyright 2004 Petteri Kangaslampi * * See license.txt for full copyright and license information.*/#include <e32std.h>#include <gdi.h>#include "testappui.h"#include "testappview.h"#include "terminalcontrols2font.h"#include "s2font.h"_LIT(KAssertPanic, "testappview.cpp");#define assert(x) __ASSERT_ALWAYS(x, User::Panic(KAssertPanic, __LINE__))_LIT(KFontFile, "c:\\system\\apps\\putty\\fonts\\fixed5x7.s2f");CTestAppView *CTestAppView::NewL(CTestAppUi &aAppUi,                                MTerminalObserver &aObserver,                                const TRect &aRect) {    CTestAppView *self = new (ELeave) CTestAppView(aAppUi);    CleanupStack::PushL(self);    self->ConstructL(aObserver, aRect);    CleanupStack::Pop();    return self;}CTestAppView::CTestAppView(CTestAppUi &aAppUi)    : iAppUi(aAppUi) {}CTestAppView::~CTestAppView() {    delete iFont;    delete iTerminal;}void CTestAppView::ConstructL(MTerminalObserver &aObserver,                              const TRect &aRect) {    CreateWindowL();    iFont = CS2Font::NewL(KFontFile);    SetRect(aRect);    GetTerminalRect(iTermRect);    iTerminal = CTerminalControlS2Font::NewL(aObserver, iTermRect, Window(),                                             *iFont);    iTerminal->SetMopParent(this);    ActivateL();    iTerminal->SetFocus(ETrue);}void CTestAppView::GetTerminalRect(TRect &aRect) {        // Get font dimensions    TInt fontHeight = iFont->FontSize().iHeight;    TInt fontWidth = iFont->FontSize().iWidth;    // Terminal maximum size    TInt termWidth = Rect().Width();    TInt termHeight = Rect().Height();    // Round size down to the largest possible terminal that contains whole    // characters    termWidth = fontWidth * (termWidth / fontWidth);    termHeight = fontHeight * (termHeight / fontHeight);    assert((termWidth > 0) && (termHeight > 0));    // Set terminal size and position    TInt termX = Rect().iTl.iX + (Rect().Width() - termWidth) / 2;    TInt termY = Rect().iTl.iY + (Rect().Height() - termHeight) / 2;    aRect.SetRect(TPoint(termX, termY), TSize(termWidth, termHeight));}void CTestAppView::Draw(const TRect & /*aRect*/) const {    CWindowGc &gc = SystemGc();    gc.Reset();    gc.SetBrushStyle(CGraphicsContext::ESolidBrush);    gc.SetBrushColor(KRgbWhite);        gc.Clear(Rect());}TInt CTestAppView::CountComponentControls() const {    return 1;}CCoeControl *CTestAppView::ComponentControl(TInt aIndex) const {        switch ( aIndex ) {        case 0:            return iTerminal;        default:            assert(EFalse);    }    return NULL;}CTerminalControl *CTestAppView::Terminal() {    return iTerminal;}TKeyResponse CTestAppView::OfferKeyEventL(const TKeyEvent &aKeyEvent,                                          TEventCode aType) {    return iTerminal->OfferKeyEventL(aKeyEvent, aType);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -