1 *b1cdbd2cSJim Jagielski /************************************************************** 2 *b1cdbd2cSJim Jagielski * 3 *b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4 *b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5 *b1cdbd2cSJim Jagielski * distributed with this work for additional information 6 *b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7 *b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8 *b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9 *b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10 *b1cdbd2cSJim Jagielski * 11 *b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12 *b1cdbd2cSJim Jagielski * 13 *b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14 *b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15 *b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 *b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17 *b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18 *b1cdbd2cSJim Jagielski * under the License. 19 *b1cdbd2cSJim Jagielski * 20 *b1cdbd2cSJim Jagielski *************************************************************/ 21 *b1cdbd2cSJim Jagielski 22 *b1cdbd2cSJim Jagielski 23 *b1cdbd2cSJim Jagielski 24 *b1cdbd2cSJim Jagielski #ifndef INCLUDED_SLIDESHOW_USERPAINTEVENTHANDLER_HXX 25 *b1cdbd2cSJim Jagielski #define INCLUDED_SLIDESHOW_USERPAINTEVENTHANDLER_HXX 26 *b1cdbd2cSJim Jagielski 27 *b1cdbd2cSJim Jagielski #include <boost/shared_ptr.hpp> 28 *b1cdbd2cSJim Jagielski 29 *b1cdbd2cSJim Jagielski /* Definition of UserPaintEventHandler interface */ 30 *b1cdbd2cSJim Jagielski 31 *b1cdbd2cSJim Jagielski namespace slideshow 32 *b1cdbd2cSJim Jagielski { 33 *b1cdbd2cSJim Jagielski namespace internal 34 *b1cdbd2cSJim Jagielski { 35 *b1cdbd2cSJim Jagielski class RGBColor; 36 *b1cdbd2cSJim Jagielski 37 *b1cdbd2cSJim Jagielski /** Interface for handling user paint state changes. 38 *b1cdbd2cSJim Jagielski 39 *b1cdbd2cSJim Jagielski Classes implementing this interface can be added to an 40 *b1cdbd2cSJim Jagielski EventMultiplexer object, and are called from there to 41 *b1cdbd2cSJim Jagielski handle user paint events. 42 *b1cdbd2cSJim Jagielski */ 43 *b1cdbd2cSJim Jagielski class UserPaintEventHandler 44 *b1cdbd2cSJim Jagielski { 45 *b1cdbd2cSJim Jagielski public: ~UserPaintEventHandler()46 *b1cdbd2cSJim Jagielski virtual ~UserPaintEventHandler() {} 47 *b1cdbd2cSJim Jagielski virtual bool colorChanged( RGBColor const& rUserColor ) = 0; 48 *b1cdbd2cSJim Jagielski virtual bool widthChanged( double nUserStrokeWidth ) = 0; 49 *b1cdbd2cSJim Jagielski virtual bool eraseAllInkChanged(bool const& rEraseAllInk) =0; 50 *b1cdbd2cSJim Jagielski virtual bool eraseInkWidthChanged(sal_Int32 rEraseInkSize) =0; 51 *b1cdbd2cSJim Jagielski virtual bool switchEraserMode() = 0; 52 *b1cdbd2cSJim Jagielski virtual bool switchPenMode() = 0; 53 *b1cdbd2cSJim Jagielski virtual bool disable() = 0; 54 *b1cdbd2cSJim Jagielski }; 55 *b1cdbd2cSJim Jagielski 56 *b1cdbd2cSJim Jagielski typedef ::boost::shared_ptr< UserPaintEventHandler > UserPaintEventHandlerSharedPtr; 57 *b1cdbd2cSJim Jagielski 58 *b1cdbd2cSJim Jagielski } 59 *b1cdbd2cSJim Jagielski } 60 *b1cdbd2cSJim Jagielski 61 *b1cdbd2cSJim Jagielski #endif /* INCLUDED_SLIDESHOW_USERPAINTEVENTHANDLER_HXX */ 62