1*1d2dbeb0SAndrew Rist /************************************************************** 2*1d2dbeb0SAndrew Rist * 3*1d2dbeb0SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*1d2dbeb0SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*1d2dbeb0SAndrew Rist * distributed with this work for additional information 6*1d2dbeb0SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*1d2dbeb0SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*1d2dbeb0SAndrew Rist * "License"); you may not use this file except in compliance 9*1d2dbeb0SAndrew Rist * with the License. You may obtain a copy of the License at 10*1d2dbeb0SAndrew Rist * 11*1d2dbeb0SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*1d2dbeb0SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*1d2dbeb0SAndrew Rist * software distributed under the License is distributed on an 15*1d2dbeb0SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*1d2dbeb0SAndrew Rist * KIND, either express or implied. See the License for the 17*1d2dbeb0SAndrew Rist * specific language governing permissions and limitations 18*1d2dbeb0SAndrew Rist * under the License. 19*1d2dbeb0SAndrew Rist * 20*1d2dbeb0SAndrew Rist *************************************************************/ 21*1d2dbeb0SAndrew Rist 22*1d2dbeb0SAndrew Rist 23cdf0e10cSrcweir #ifndef _SW_DRAWBASE_HXX 24cdf0e10cSrcweir #define _SW_DRAWBASE_HXX 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include <tools/gen.hxx> 27cdf0e10cSrcweir 28cdf0e10cSrcweir class SwView; 29cdf0e10cSrcweir class SwWrtShell; 30cdf0e10cSrcweir class SwEditWin; 31cdf0e10cSrcweir class KeyEvent; 32cdf0e10cSrcweir class MouseEvent; 33cdf0e10cSrcweir 34cdf0e10cSrcweir #define MIN_FREEHAND_DISTANCE 10 35cdf0e10cSrcweir 36cdf0e10cSrcweir /************************************************************************* 37cdf0e10cSrcweir |* 38cdf0e10cSrcweir |* Basisklasse fuer alle Funktionen 39cdf0e10cSrcweir |* 40cdf0e10cSrcweir \************************************************************************/ 41cdf0e10cSrcweir 42cdf0e10cSrcweir class SwDrawBase 43cdf0e10cSrcweir { 44cdf0e10cSrcweir protected: 45cdf0e10cSrcweir SwView* m_pView; 46cdf0e10cSrcweir SwWrtShell* m_pSh; 47cdf0e10cSrcweir SwEditWin* m_pWin; 48cdf0e10cSrcweir Point m_aStartPos; // Position von BeginCreate 49cdf0e10cSrcweir Point m_aMDPos; // Position von MouseButtonDown 50cdf0e10cSrcweir sal_uInt16 m_nSlotId; 51cdf0e10cSrcweir sal_Bool m_bCreateObj :1; 52cdf0e10cSrcweir sal_Bool m_bInsForm :1; 53cdf0e10cSrcweir 54cdf0e10cSrcweir Point GetDefaultCenterPos(); 55cdf0e10cSrcweir public: 56cdf0e10cSrcweir SwDrawBase(SwWrtShell *pSh, SwEditWin* pWin, SwView* pView); 57cdf0e10cSrcweir virtual ~SwDrawBase(); 58cdf0e10cSrcweir 59cdf0e10cSrcweir void SetDrawPointer(); 60cdf0e10cSrcweir void EnterSelectMode(const MouseEvent& rMEvt); IsInsertForm() const61cdf0e10cSrcweir inline sal_Bool IsInsertForm() const { return m_bInsForm; } IsCreateObj() const62cdf0e10cSrcweir inline sal_Bool IsCreateObj() const { return m_bCreateObj; } 63cdf0e10cSrcweir 64cdf0e10cSrcweir // Mouse- & Key-Events; Returnwert=sal_True: Event wurde bearbeitet 65cdf0e10cSrcweir virtual sal_Bool KeyInput(const KeyEvent& rKEvt); 66cdf0e10cSrcweir virtual sal_Bool MouseMove(const MouseEvent& rMEvt); 67cdf0e10cSrcweir virtual sal_Bool MouseButtonUp(const MouseEvent& rMEvt); 68cdf0e10cSrcweir virtual sal_Bool MouseButtonDown(const MouseEvent& rMEvt); 69cdf0e10cSrcweir 70cdf0e10cSrcweir void BreakCreate(); SetSlotId(sal_uInt16 nSlot)71cdf0e10cSrcweir void SetSlotId(sal_uInt16 nSlot) {m_nSlotId = nSlot;} GetSlotId()72cdf0e10cSrcweir sal_uInt16 GetSlotId() { return m_nSlotId;} 73cdf0e10cSrcweir 74cdf0e10cSrcweir virtual void Activate(const sal_uInt16 nSlotId); // Function aktivieren 75cdf0e10cSrcweir virtual void Deactivate(); // Function deaktivieren 76cdf0e10cSrcweir 77cdf0e10cSrcweir virtual void CreateDefaultObject(); 78cdf0e10cSrcweir 79cdf0e10cSrcweir // #i33136# 80cdf0e10cSrcweir virtual bool doConstructOrthogonal() const; 81cdf0e10cSrcweir }; 82cdf0e10cSrcweir 83cdf0e10cSrcweir 84cdf0e10cSrcweir 85cdf0e10cSrcweir #endif // _SW_DRAWBASE_HXX 86cdf0e10cSrcweir 87