/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include #include using namespace ::com::sun::star::uno; using namespace ::com::sun::star::lang; // ----------------------------------------------------------------------- // Forward declaration void Main(); // ----------------------------------------------------------------------- SAL_IMPLEMENT_MAIN() { tools::extendApplicationEnvironment(); Reference< XMultiServiceFactory > xMS; xMS = cppu::createRegistryServiceFactory( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "types.rdb" ) ), rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "applicat.rdb" ) ), sal_True ); comphelper::setProcessServiceFactory( xMS ); InitVCL(); ::Main(); DeInitVCL(); return 0; } // ----------------------------------------------------------------------- class MyWin : public WorkWindow { public: MyWin( Window* pParent, WinBits nWinStyle ); void MouseMove( const MouseEvent& rMEvt ); void MouseButtonDown( const MouseEvent& rMEvt ); void MouseButtonUp( const MouseEvent& rMEvt ); void KeyInput( const KeyEvent& rKEvt ); void KeyUp( const KeyEvent& rKEvt ); void Paint( const Rectangle& rRect ); void Resize(); }; // ----------------------------------------------------------------------- void Main() { MyWin aMainWin( NULL, WB_APP | WB_STDWORK ); aMainWin.SetText( rtl::OUString( "VCLDemo - VCL Workbench" ) ); aMainWin.Show(); /* InfoBox ib(NULL, String((sal_Char*)"Test", sizeof("Test"))); ib.Execute(); */ Application::Execute(); } // ----------------------------------------------------------------------- MyWin::MyWin( Window* pParent, WinBits nWinStyle ) : WorkWindow( pParent, nWinStyle ) { } // ----------------------------------------------------------------------- void MyWin::MouseMove( const MouseEvent& rMEvt ) { WorkWindow::MouseMove( rMEvt ); } // ----------------------------------------------------------------------- void MyWin::MouseButtonDown( const MouseEvent& rMEvt ) { Rectangle aRect(0,0,4,4); aRect.SetPos( rMEvt.GetPosPixel() ); SetFillColor(Color(COL_RED)); DrawRect( aRect ); } // ----------------------------------------------------------------------- void MyWin::MouseButtonUp( const MouseEvent& rMEvt ) { WorkWindow::MouseButtonUp( rMEvt ); } // ----------------------------------------------------------------------- void MyWin::KeyInput( const KeyEvent& rKEvt ) { WorkWindow::KeyInput( rKEvt ); } // ----------------------------------------------------------------------- void MyWin::KeyUp( const KeyEvent& rKEvt ) { WorkWindow::KeyUp( rKEvt ); } // ----------------------------------------------------------------------- void MyWin::Paint( const Rectangle& rRect ) { fprintf(stderr, "MyWin::Paint(%ld,%ld,%ld,%ld)\n", rRect.getX(), rRect.getY(), rRect.getWidth(), rRect.getHeight()); Size aSz(GetSizePixel()); Point aPt; Rectangle r(aPt, aSz); SetFillColor(Color(COL_BLUE)); SetLineColor(Color(COL_YELLOW)); DrawRect( r ); for(int i=0; i