1 /* 2 * This source file is part of libRocket, the HTML/CSS Interface Middleware 3 * 4 * For the latest information, see http://www.librocket.com 5 * 6 * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd 7 * 8 * Permission is hereby granted, free of charge, to any person obtaining a copy 9 * of this software and associated documentation files (the "Software"), to deal 10 * in the Software without restriction, including without limitation the rights 11 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 * copies of the Software, and to permit persons to whom the Software is 13 * furnished to do so, subject to the following conditions: 14 * 15 * The above copyright notice and this permission notice shall be included in 16 * all copies or substantial portions of the Software. 17 * 18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 * THE SOFTWARE. 25 * 26 */ 27 28 #ifndef ROCKETCONTROLSELEMENTTEXTSELECTION_H 29 #define ROCKETCONTROLSELEMENTTEXTSELECTION_H 30 31 #include "../../Include/Rocket/Core/Element.h" 32 33 namespace Rocket { 34 namespace Controls { 35 36 class WidgetTextInput; 37 38 /** 39 A stub element used by the WidgetTextInput to query the RCSS-specified text colour and 40 background colour for selected text. 41 42 @author Peter Curry 43 */ 44 45 class ElementTextSelection : public Core::Element 46 { 47 public: 48 ElementTextSelection(const Rocket::Core::String& tag); 49 virtual ~ElementTextSelection(); 50 51 /// Set the widget that this selection element was created for. This is the widget that will be 52 /// notified when this element's properties are altered. 53 void SetWidget(WidgetTextInput* widget); 54 55 protected: 56 /// Processes 'color' and 'background-color' property changes. 57 virtual void OnPropertyChange(const Rocket::Core::PropertyNameList& changed_properties); 58 59 private: 60 WidgetTextInput* widget; 61 }; 62 63 } 64 } 65 66 #endif 67