AreaTransparencyGradientControl.cxx (d29c2fc2) | AreaTransparencyGradientControl.cxx (62762835) |
---|---|
1/************************************************************** | 1/************************************************************** |
2 * | 2 * |
3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at | 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at |
10 * | 10 * |
11 * http://www.apache.org/licenses/LICENSE-2.0 | 11 * http://www.apache.org/licenses/LICENSE-2.0 |
12 * | 12 * |
13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. | 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. |
19 * | 19 * |
20 *************************************************************/ 21 | 20 *************************************************************/ 21 |
22 23 |
|
22#include "AreaTransparencyGradientControl.hxx" 23#include "AreaPropertyPanel.hxx" 24#include "AreaPropertyPanel.hrc" 25 26#include <svx/dialogs.hrc> 27#include <svx/dialmgr.hxx> 28#include <svx/xflftrit.hxx> 29#include <sfx2/sidebar/ResourceDefinitions.hrc> --- 21 unchanged lines hidden (view full) --- 51#define APOS_Left_Right_2 Point(LogicToPixel(Point(LEFT_RIGHT_X2,LEFT_RIGHT_Y1), MAP_APPFONT)) 52#define APOS_Left_Right_3 Point(LogicToPixel(Point(LEFT_RIGHT_X1,LEFT_RIGHT_Y2), MAP_APPFONT)) 53#define APOS_Left_Right_4 Point(LogicToPixel(Point(LEFT_RIGHT_X2,LEFT_RIGHT_Y2), MAP_APPFONT)) 54 55 56 57 58AreaTransparencyGradientControl::AreaTransparencyGradientControl ( | 24#include "AreaTransparencyGradientControl.hxx" 25#include "AreaPropertyPanel.hxx" 26#include "AreaPropertyPanel.hrc" 27 28#include <svx/dialogs.hrc> 29#include <svx/dialmgr.hxx> 30#include <svx/xflftrit.hxx> 31#include <sfx2/sidebar/ResourceDefinitions.hrc> --- 21 unchanged lines hidden (view full) --- 53#define APOS_Left_Right_2 Point(LogicToPixel(Point(LEFT_RIGHT_X2,LEFT_RIGHT_Y1), MAP_APPFONT)) 54#define APOS_Left_Right_3 Point(LogicToPixel(Point(LEFT_RIGHT_X1,LEFT_RIGHT_Y2), MAP_APPFONT)) 55#define APOS_Left_Right_4 Point(LogicToPixel(Point(LEFT_RIGHT_X2,LEFT_RIGHT_Y2), MAP_APPFONT)) 56 57 58 59 60AreaTransparencyGradientControl::AreaTransparencyGradientControl ( |
59 Window* pParent, 60 AreaPropertyPanel& rPanel) 61 : PopupControl( pParent,SVX_RES(RID_POPUPPANEL_AREAPAGE_TRGR)), 62 maFtTrgrCenterX(this, SVX_RES(FT_TRGR_CENTER_X)), 63 maMtrTrgrCenterX(this, SVX_RES(MTR_TRGR_CENTER_X)), 64 maFtTrgrCenterY(this, SVX_RES(FT_TRGR_CENTER_Y)), 65 maMtrTrgrCenterY(this, SVX_RES(MTR_TRGR_CENTER_Y)), 66 maFtTrgrAngle(this, SVX_RES(FT_TRGR_ANGLE)), 67 maMtrTrgrAngle(this, SVX_RES(MTR_TRGR_ANGLE)), 68 maBtnLeft45(this, SVX_RES(BTN_LEFT_SECOND)), 69 maBtnRight45(this, SVX_RES(BTN_RIGHT_FIRST)), 70 maFtTrgrStartValue(this, SVX_RES(FT_TRGR_START_VALUE)), 71 maMtrTrgrStartValue(this, SVX_RES(MTR_TRGR_START_VALUE)), 72 maFtTrgrEndValue(this, SVX_RES(FT_TRGR_END_VALUE)), 73 maMtrTrgrEndValue(this, SVX_RES(MTR_TRGR_END_VALUE)), 74 maFtTrgrBorder(this, SVX_RES(FT_TRGR_BORDER)), 75 maMtrTrgrBorder(this, SVX_RES(MTR_TRGR_BORDER)), 76 maRotLeft( SVX_RES(IMG_ROT_LEFT)), 77 maRotRight( SVX_RES(IMG_ROT_RIGHT)), 78 mrAreaPropertyPanel(rPanel), 79 mpBindings(NULL) | 61 Window* pParent, 62 AreaPropertyPanel& rPanel) 63 : PopupControl( pParent,SVX_RES(RID_POPUPPANEL_AREAPAGE_TRGR)), 64 maFtTrgrCenterX(this, SVX_RES(FT_TRGR_CENTER_X)), 65 maMtrTrgrCenterX(this, SVX_RES(MTR_TRGR_CENTER_X)), 66 maFtTrgrCenterY(this, SVX_RES(FT_TRGR_CENTER_Y)), 67 maMtrTrgrCenterY(this, SVX_RES(MTR_TRGR_CENTER_Y)), 68 maFtTrgrAngle(this, SVX_RES(FT_TRGR_ANGLE)), 69 maMtrTrgrAngle(this, SVX_RES(MTR_TRGR_ANGLE)), 70 maBtnLeft45(this, SVX_RES(BTN_LEFT_SECOND)), 71 maBtnRight45(this, SVX_RES(BTN_RIGHT_FIRST)), 72 maFtTrgrStartValue(this, SVX_RES(FT_TRGR_START_VALUE)), 73 maMtrTrgrStartValue(this, SVX_RES(MTR_TRGR_START_VALUE)), 74 maFtTrgrEndValue(this, SVX_RES(FT_TRGR_END_VALUE)), 75 maMtrTrgrEndValue(this, SVX_RES(MTR_TRGR_END_VALUE)), 76 maFtTrgrBorder(this, SVX_RES(FT_TRGR_BORDER)), 77 maMtrTrgrBorder(this, SVX_RES(MTR_TRGR_BORDER)), 78 maRotLeft( SVX_RES(IMG_ROT_LEFT)), 79 maRotRight( SVX_RES(IMG_ROT_RIGHT)), 80 mrAreaPropertyPanel(rPanel), 81 mpBindings(NULL) |
80{ 81 Link aLink = LINK( this, AreaTransparencyGradientControl, ModifiedTrgrHdl_Impl); 82 maMtrTrgrCenterX.SetModifyHdl( aLink ); 83 maMtrTrgrCenterY.SetModifyHdl( aLink ); 84 maMtrTrgrAngle.SetModifyHdl( aLink ); 85 maMtrTrgrBorder.SetModifyHdl( aLink ); 86 maMtrTrgrStartValue.SetModifyHdl( aLink ); 87 maMtrTrgrEndValue.SetModifyHdl( aLink ); 88 aLink = LINK( this, AreaTransparencyGradientControl, Left_Click45_Impl); 89 maBtnLeft45.SetSelectHdl( aLink ); 90 aLink = LINK( this, AreaTransparencyGradientControl, Right_Click45_Impl); 91 maBtnRight45.SetSelectHdl( aLink ); 92 maBtnLeft45.SetItemImage(1,maRotLeft); 93 Size aTbxSize = maBtnLeft45.CalcWindowSizePixel(); 94 maBtnLeft45.SetOutputSizePixel( aTbxSize ); | 82{ 83 Link aLink = LINK( this, AreaTransparencyGradientControl, ModifiedTrgrHdl_Impl); 84 maMtrTrgrCenterX.SetModifyHdl( aLink ); 85 maMtrTrgrCenterY.SetModifyHdl( aLink ); 86 maMtrTrgrAngle.SetModifyHdl( aLink ); 87 maMtrTrgrBorder.SetModifyHdl( aLink ); 88 maMtrTrgrStartValue.SetModifyHdl( aLink ); 89 maMtrTrgrEndValue.SetModifyHdl( aLink ); 90 aLink = LINK( this, AreaTransparencyGradientControl, Left_Click45_Impl); 91 maBtnLeft45.SetSelectHdl( aLink ); 92 aLink = LINK( this, AreaTransparencyGradientControl, Right_Click45_Impl); 93 maBtnRight45.SetSelectHdl( aLink ); 94 maBtnLeft45.SetItemImage(1,maRotLeft); 95 Size aTbxSize = maBtnLeft45.CalcWindowSizePixel(); 96 maBtnLeft45.SetOutputSizePixel( aTbxSize ); |
95 maBtnLeft45.SetQuickHelpText(1, String(SVX_RES(STR_HELP_LEFT))); //acc wj | 97 maBtnLeft45.SetQuickHelpText(1, String(SVX_RES(STR_HELP_LEFT))); // acc wj |
96 97 maBtnRight45.SetItemImage(1,maRotRight); 98 aTbxSize = maBtnRight45.CalcWindowSizePixel(); 99 maBtnRight45.SetOutputSizePixel( aTbxSize ); | 98 99 maBtnRight45.SetItemImage(1,maRotRight); 100 aTbxSize = maBtnRight45.CalcWindowSizePixel(); 101 maBtnRight45.SetOutputSizePixel( aTbxSize ); |
100 maBtnRight45.SetQuickHelpText(1, String(SVX_RES(STR_HELP_RIGHT))); //acc wj | 102 maBtnRight45.SetQuickHelpText(1, String(SVX_RES(STR_HELP_RIGHT))); // acc wj |
101 102 maBtnLeft45.SetBackground(Wallpaper()); 103 maBtnLeft45.SetPaintTransparent(true); 104 maBtnRight45.SetBackground(Wallpaper()); 105 maBtnRight45.SetPaintTransparent(true); 106 107 FreeResource(); | 103 104 maBtnLeft45.SetBackground(Wallpaper()); 105 maBtnLeft45.SetPaintTransparent(true); 106 maBtnRight45.SetBackground(Wallpaper()); 107 maBtnRight45.SetPaintTransparent(true); 108 109 FreeResource(); |
108 mpBindings = mrAreaPropertyPanel.GetBindings(); | 110 mpBindings = mrAreaPropertyPanel.GetBindings(); |
109} 110 111 112 113 114AreaTransparencyGradientControl::~AreaTransparencyGradientControl (void) 115{ 116} --- 10 unchanged lines hidden (view full) --- 127} 128 129 130 131 132void AreaTransparencyGradientControl::Rearrange(XFillFloatTransparenceItem* pGradientItem) 133{ 134 InitStatus(pGradientItem); | 111} 112 113 114 115 116AreaTransparencyGradientControl::~AreaTransparencyGradientControl (void) 117{ 118} --- 10 unchanged lines hidden (view full) --- 129} 130 131 132 133 134void AreaTransparencyGradientControl::Rearrange(XFillFloatTransparenceItem* pGradientItem) 135{ 136 InitStatus(pGradientItem); |
135 const XGradient& rGradient = pGradientItem->GetGradientValue(); | 137 const XGradient& rGradient = pGradientItem->GetGradientValue(); |
136 XGradientStyle eXGS(rGradient.GetGradientStyle()); 137 Size aSize(POP_WIDTH,POP_HEIGHT); 138 aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) ); 139 Size aSize2(POP_WIDTH,POP_HEIGHT2); 140 aSize2 = LogicToPixel( aSize2, MapMode(MAP_APPFONT) ); 141 long aPosY = 0; 142 Point aPointAngle; 143 Size aSizeAngle = maMtrTrgrAngle.GetSizePixel(); --- 98 unchanged lines hidden (view full) --- 242 243void AreaTransparencyGradientControl::InitStatus(XFillFloatTransparenceItem* pGradientItem) 244{ 245 const XGradient& rGradient = pGradientItem->GetGradientValue(); 246 247 XGradient aGradient; 248 249 if (rGradient.GetXOffset() == AreaPropertyPanel::DEFAULT_CENTERX | 138 XGradientStyle eXGS(rGradient.GetGradientStyle()); 139 Size aSize(POP_WIDTH,POP_HEIGHT); 140 aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) ); 141 Size aSize2(POP_WIDTH,POP_HEIGHT2); 142 aSize2 = LogicToPixel( aSize2, MapMode(MAP_APPFONT) ); 143 long aPosY = 0; 144 Point aPointAngle; 145 Size aSizeAngle = maMtrTrgrAngle.GetSizePixel(); --- 98 unchanged lines hidden (view full) --- 244 245void AreaTransparencyGradientControl::InitStatus(XFillFloatTransparenceItem* pGradientItem) 246{ 247 const XGradient& rGradient = pGradientItem->GetGradientValue(); 248 249 XGradient aGradient; 250 251 if (rGradient.GetXOffset() == AreaPropertyPanel::DEFAULT_CENTERX |
250 && rGradient.GetYOffset() == AreaPropertyPanel::DEFAULT_CENTERY 251 && (rGradient.GetAngle() / 10) == AreaPropertyPanel::DEFAULT_ANGLE 252 && ((sal_uInt16)((((sal_uInt16)rGradient.GetStartColor().GetRed() + 1) * 100) / 255)) 253 == AreaPropertyPanel::DEFAULT_STARTVALUE 254 && ((sal_uInt16)((((sal_uInt16)rGradient.GetEndColor().GetRed() + 1) * 100) / 255)) 255 == AreaPropertyPanel::DEFAULT_ENDVALUE 256 && rGradient.GetBorder() == AreaPropertyPanel::DEFAULT_BORDER) | 252 && rGradient.GetYOffset() == AreaPropertyPanel::DEFAULT_CENTERY 253 && (rGradient.GetAngle() / 10) == AreaPropertyPanel::DEFAULT_ANGLE 254 && ((sal_uInt16)((((sal_uInt16)rGradient.GetStartColor().GetRed() + 1) * 100) / 255)) 255 == AreaPropertyPanel::DEFAULT_STARTVALUE 256 && ((sal_uInt16)((((sal_uInt16)rGradient.GetEndColor().GetRed() + 1) * 100) / 255)) 257 == AreaPropertyPanel::DEFAULT_ENDVALUE 258 && rGradient.GetBorder() == AreaPropertyPanel::DEFAULT_BORDER) |
257 { | 259 { |
258 aGradient = mrAreaPropertyPanel.GetGradient(rGradient.GetGradientStyle()); | 260 aGradient = mrAreaPropertyPanel.GetGradient(rGradient.GetGradientStyle()); |
259 } 260 else | 261 } 262 else |
261 { | 263 { |
262 aGradient = rGradient; | 264 aGradient = rGradient; |
263 } | 265 } |
264 maMtrTrgrCenterX.SetValue(aGradient.GetXOffset()); 265 maMtrTrgrCenterY.SetValue(aGradient.GetYOffset()); 266 maMtrTrgrAngle.SetValue(aGradient.GetAngle() / 10); 267 maMtrTrgrStartValue.SetValue((sal_uInt16)((((sal_uInt16)aGradient.GetStartColor().GetRed() + 1) * 100) / 255)); 268 maMtrTrgrEndValue.SetValue((sal_uInt16)((((sal_uInt16)aGradient.GetEndColor().GetRed() + 1) * 100) / 255)); | 266 maMtrTrgrCenterX.SetValue(aGradient.GetXOffset()); 267 maMtrTrgrCenterY.SetValue(aGradient.GetYOffset()); 268 maMtrTrgrAngle.SetValue(aGradient.GetAngle() / 10); 269 maMtrTrgrStartValue.SetValue((sal_uInt16)((((sal_uInt16)aGradient.GetStartColor().GetRed() + 1) * 100) / 255)); 270 maMtrTrgrEndValue.SetValue((sal_uInt16)((((sal_uInt16)aGradient.GetEndColor().GetRed() + 1) * 100) / 255)); |
269 maMtrTrgrBorder.SetValue(aGradient.GetBorder()); | 271 maMtrTrgrBorder.SetValue(aGradient.GetBorder()); |
270} 271 272 273 274 275void AreaTransparencyGradientControl::ExecuteValueModify( sal_uInt8 nStartCol, sal_uInt8 nEndCol ) 276{ | 272} 273 274 275 276 277void AreaTransparencyGradientControl::ExecuteValueModify( sal_uInt8 nStartCol, sal_uInt8 nEndCol ) 278{ |
277 //Added | 279 // Added |
278 sal_Int16 aMtrValue = (sal_Int16)maMtrTrgrAngle.GetValue(); 279 while(aMtrValue<0) 280 aMtrValue += 360; 281 sal_uInt16 nVal = aMtrValue/360; 282 nVal = aMtrValue - nVal*360; 283 maMtrTrgrAngle.SetValue(nVal); | 280 sal_Int16 aMtrValue = (sal_Int16)maMtrTrgrAngle.GetValue(); 281 while(aMtrValue<0) 282 aMtrValue += 360; 283 sal_uInt16 nVal = aMtrValue/360; 284 nVal = aMtrValue - nVal*360; 285 maMtrTrgrAngle.SetValue(nVal); |
284 //End of new code | 286 // End of new code |
285 XGradient aTmpGradient( 286 Color(nStartCol, nStartCol, nStartCol), 287 Color(nEndCol, nEndCol, nEndCol), 288 (XGradientStyle)(mrAreaPropertyPanel.GetSelectedTransparencyTypeIndex()-2), 289 (sal_uInt16)maMtrTrgrAngle.GetValue() * 10, 290 (sal_uInt16)maMtrTrgrCenterX.GetValue(), 291 (sal_uInt16)maMtrTrgrCenterY.GetValue(), 292 (sal_uInt16)maMtrTrgrBorder.GetValue(), 293 100, 100); 294 | 287 XGradient aTmpGradient( 288 Color(nStartCol, nStartCol, nStartCol), 289 Color(nEndCol, nEndCol, nEndCol), 290 (XGradientStyle)(mrAreaPropertyPanel.GetSelectedTransparencyTypeIndex()-2), 291 (sal_uInt16)maMtrTrgrAngle.GetValue() * 10, 292 (sal_uInt16)maMtrTrgrCenterX.GetValue(), 293 (sal_uInt16)maMtrTrgrCenterY.GetValue(), 294 (sal_uInt16)maMtrTrgrBorder.GetValue(), 295 100, 100); 296 |
295 mrAreaPropertyPanel.SetGradient(aTmpGradient); | 297 mrAreaPropertyPanel.SetGradient(aTmpGradient); |
296 297 SfxItemPool* pPool = NULL; | 298 299 SfxItemPool* pPool = NULL; |
298 bool bEnable = true; | 300 bool bEnable = true; |
299 XFillFloatTransparenceItem aGradientItem(pPool,aTmpGradient, bEnable ); 300 301 mpBindings->GetDispatcher()->Execute( SID_ATTR_FILL_FLOATTRANSPARENCE, SFX_CALLMODE_RECORD, &aGradientItem, 0L ); 302} 303 304 305 306 --- 43 unchanged lines hidden --- | 301 XFillFloatTransparenceItem aGradientItem(pPool,aTmpGradient, bEnable ); 302 303 mpBindings->GetDispatcher()->Execute( SID_ATTR_FILL_FLOATTRANSPARENCE, SFX_CALLMODE_RECORD, &aGradientItem, 0L ); 304} 305 306 307 308 --- 43 unchanged lines hidden --- |