Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 29 */ | 29 */ |
| 30 | 30 |
| 31 #ifndef WebThemeEngine_h | 31 #ifndef WebThemeEngine_h |
| 32 #define WebThemeEngine_h | 32 #define WebThemeEngine_h |
| 33 | 33 |
| 34 #include "../WebCanvas.h" | 34 #include "WebCanvas.h" |
| 35 #include "../WebColor.h" | 35 #include "WebColor.h" |
| 36 #include "../WebSize.h" | 36 #include "WebSize.h" |
| 37 | 37 |
| 38 namespace blink { | 38 namespace blink { |
| 39 | 39 |
| 40 struct WebRect; | 40 struct WebRect; |
| 41 | 41 |
| 42 // FIXME: crbug.com/327471. We need to merge the Apple and non-Apple implementat ions. | |
| 43 | |
| 42 class WebThemeEngine { | 44 class WebThemeEngine { |
| 43 public: | 45 public: |
| 46 // The current state of the associated Part. | |
| 47 enum State { | |
| 48 StateDisabled, | |
| 49 StateNormal, | |
| 50 StateInactive, // Apple-specific | |
| 51 StateActive, // Apple-specific | |
| 52 StateHover, // non-Apple | |
| 53 StatePressed, // non-Apple | |
|
jamesr
2014/02/06 01:10:53
iirc, StatePressed existed in both of the pre-merg
Dirk Pranke
2014/02/07 00:20:08
right you are.
| |
| 54 StateFocused, // non-Apple | |
| 55 StateReadonly, // non-Apple | |
| 56 }; | |
| 57 | |
| 58 // FIXME: The next section describes stuff only used on the Apple port. | |
| 59 enum Size { | |
| 60 SizeRegular, | |
| 61 SizeSmall, | |
| 62 }; | |
| 63 | |
| 64 enum ScrollbarOrientation { | |
| 65 ScrollbarOrientationHorizontal, | |
| 66 ScrollbarOrientationVertical, | |
| 67 }; | |
| 68 | |
| 69 enum ScrollbarParent { | |
| 70 ScrollbarParentScrollView, | |
| 71 ScrollbarParentRenderLayer, | |
| 72 }; | |
| 73 | |
| 74 struct ScrollbarInfo { | |
| 75 ScrollbarOrientation orientation; | |
| 76 ScrollbarParent parent; | |
| 77 int maxValue; | |
| 78 int currentValue; | |
| 79 int visibleSize; | |
| 80 int totalSize; | |
| 81 }; | |
| 82 | |
| 83 virtual void paintScrollbarThumb(WebCanvas*, State, Size, const WebRect&, co nst ScrollbarInfo&) { } | |
| 84 | |
| 85 // FIXME: The remaining definitions are only used on the non-Apple ports. | |
| 86 | |
| 44 // The UI part which is being accessed. | 87 // The UI part which is being accessed. |
| 45 enum Part { | 88 enum Part { |
| 46 // ScrollbarTheme parts | 89 // ScrollbarTheme parts |
| 47 PartScrollbarDownArrow, | 90 PartScrollbarDownArrow, |
| 48 PartScrollbarLeftArrow, | 91 PartScrollbarLeftArrow, |
| 49 PartScrollbarRightArrow, | 92 PartScrollbarRightArrow, |
| 50 PartScrollbarUpArrow, | 93 PartScrollbarUpArrow, |
| 51 PartScrollbarHorizontalThumb, | 94 PartScrollbarHorizontalThumb, |
| 52 PartScrollbarVerticalThumb, | 95 PartScrollbarVerticalThumb, |
| 53 PartScrollbarHorizontalTrack, | 96 PartScrollbarHorizontalTrack, |
| 54 PartScrollbarVerticalTrack, | 97 PartScrollbarVerticalTrack, |
| 55 PartScrollbarCorner, | 98 PartScrollbarCorner, |
| 56 | 99 |
| 57 // RenderTheme parts | 100 // RenderTheme parts |
| 58 PartCheckbox, | 101 PartCheckbox, |
| 59 PartRadio, | 102 PartRadio, |
| 60 PartButton, | 103 PartButton, |
| 61 PartTextField, | 104 PartTextField, |
| 62 PartMenuList, | 105 PartMenuList, |
| 63 PartSliderTrack, | 106 PartSliderTrack, |
| 64 PartSliderThumb, | 107 PartSliderThumb, |
| 65 PartInnerSpinButton, | 108 PartInnerSpinButton, |
| 66 PartProgressBar | 109 PartProgressBar |
| 67 }; | 110 }; |
| 68 | 111 |
| 69 // The current state of the associated Part. | |
| 70 enum State { | |
| 71 StateDisabled, | |
| 72 StateHover, | |
| 73 StateNormal, | |
| 74 StatePressed, | |
| 75 StateFocused, | |
| 76 StateReadonly, | |
| 77 }; | |
| 78 | 112 |
| 79 // Extra parameters for drawing the PartScrollbarHorizontalTrack and | 113 // Extra parameters for drawing the PartScrollbarHorizontalTrack and |
| 80 // PartScrollbarVerticalTrack. | 114 // PartScrollbarVerticalTrack. |
| 81 struct ScrollbarTrackExtraParams { | 115 struct ScrollbarTrackExtraParams { |
| 82 bool isBack; // Whether this is the 'back' part or the 'forward' part. | 116 bool isBack; // Whether this is the 'back' part or the 'forward' part. |
| 83 | 117 |
| 84 // The bounds of the entire track, as opposed to the part being painted. | 118 // The bounds of the entire track, as opposed to the part being painted. |
| 85 int trackX; | 119 int trackX; |
| 86 int trackY; | 120 int trackY; |
| 87 int trackWidth; | 121 int trackWidth; |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 150 // like vertical scrollbar thumbs, the width will be the required width of | 184 // like vertical scrollbar thumbs, the width will be the required width of |
| 151 // the track while the height will be the minimum height. | 185 // the track while the height will be the minimum height. |
| 152 virtual WebSize getSize(Part) { return WebSize(); } | 186 virtual WebSize getSize(Part) { return WebSize(); } |
| 153 // Paint the given the given theme part. | 187 // Paint the given the given theme part. |
| 154 virtual void paint(WebCanvas*, Part, State, const WebRect&, const ExtraParam s*) { } | 188 virtual void paint(WebCanvas*, Part, State, const WebRect&, const ExtraParam s*) { } |
| 155 }; | 189 }; |
| 156 | 190 |
| 157 } // namespace blink | 191 } // namespace blink |
| 158 | 192 |
| 159 #endif | 193 #endif |
| OLD | NEW |