summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cui/source/tabpages/backgrnd.cxx2
-rw-r--r--cui/source/tabpages/tparea.cxx16
-rw-r--r--cui/source/tabpages/tpbitmap.cxx247
-rw-r--r--cui/source/tabpages/tpline.cxx1
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx7
-rw-r--r--drawinglayer/source/attribute/sdrfillbitmapattribute.cxx54
-rw-r--r--filter/source/msfilter/msdffimp.cxx40
-rw-r--r--filter/source/msfilter/svdfppt.cxx5
-rw-r--r--sc/source/filter/excel/xiescher.cxx11
-rw-r--r--sc/source/ui/view/viewfun7.cxx6
-rw-r--r--sd/source/core/drawdoc4.cxx2
-rw-r--r--sd/source/ui/func/fupage.cxx2
-rw-r--r--sd/source/ui/view/sdview4.cxx3
-rw-r--r--svx/Package_inc.mk1
-rw-r--r--svx/inc/svx/dlgctrl.hxx34
-rw-r--r--svx/inc/svx/xbitmap.hxx96
-rw-r--r--svx/inc/svx/xbtmpit.hxx31
-rw-r--r--svx/inc/svx/xenum.hxx3
-rw-r--r--svx/inc/svx/xfillit.hxx1
-rw-r--r--svx/inc/svx/xtable.hxx38
-rw-r--r--svx/source/customshapes/EnhancedCustomShape2d.cxx7
-rw-r--r--svx/source/customshapes/EnhancedCustomShape3d.cxx20
-rw-r--r--svx/source/dialog/dlgctrl.cxx295
-rw-r--r--svx/source/sdr/primitive2d/sdrattributecreator.cxx30
-rw-r--r--svx/source/svdraw/svdetc.cxx5
-rw-r--r--svx/source/svdraw/svdfmtf.cxx2
-rw-r--r--svx/source/svdraw/svdoashp.cxx33
-rw-r--r--svx/source/svdraw/svdograf.cxx8
-rw-r--r--svx/source/svdraw/svdoole2.cxx2
-rw-r--r--svx/source/tbxctrls/fillctrl.cxx11
-rw-r--r--svx/source/unodraw/XPropertyTable.cxx10
-rw-r--r--svx/source/unodraw/unobtabl.cxx3
-rw-r--r--svx/source/unodraw/unoshape.cxx189
-rw-r--r--svx/source/xoutdev/xattr.cxx8
-rw-r--r--svx/source/xoutdev/xattrbmp.cxx748
-rw-r--r--svx/source/xoutdev/xpool.cxx4
-rw-r--r--svx/source/xoutdev/xtabbtmp.cxx39
-rw-r--r--sw/source/core/frmedt/fecopy.cxx10
-rw-r--r--sw/source/filter/ww8/ww8graf.cxx23
39 files changed, 624 insertions, 1423 deletions
diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
index be1908e6451f..938ae0868580 100644
--- a/cui/source/tabpages/backgrnd.cxx
+++ b/cui/source/tabpages/backgrnd.cxx
@@ -63,6 +63,8 @@
#include <svx/flagsdef.hxx> //CHINA001
#include <svl/intitem.hxx> //CHINA001
#include <sfx2/request.hxx> //CHINA001
+#include <svtools/grfmgr.hxx>
+
using namespace ::com::sun::star;
// static ----------------------------------------------------------------
diff --git a/cui/source/tabpages/tparea.cxx b/cui/source/tabpages/tparea.cxx
index 850e3f61af39..47044c13e9b3 100644
--- a/cui/source/tabpages/tparea.cxx
+++ b/cui/source/tabpages/tparea.cxx
@@ -1132,9 +1132,9 @@ sal_Bool SvxAreaTabPage::FillItemSet( SfxItemSet& rAttrs )
if( nPos != LISTBOX_ENTRY_NOTFOUND &&
nPos != aLbBitmap.GetSavedValue() )
{
- XOBitmap aXOBitmap = pBitmapList->GetBitmap( nPos )->GetXBitmap();
- String aString = aLbBitmap.GetSelectEntry();
- XFillBitmapItem aFillBitmapItem( aString, aXOBitmap );
+ const XBitmapEntry* pXBitmapEntry = pBitmapList->GetBitmap(nPos);
+ const String aString(aLbBitmap.GetSelectEntry());
+ const XFillBitmapItem aFillBitmapItem(aString, pXBitmapEntry->GetGraphicObject());
pOld = GetOldItem( rAttrs, XATTR_FILLBITMAP );
if ( !pOld || !( *(const XFillBitmapItem*)pOld == aFillBitmapItem ) )
{
@@ -2250,16 +2250,16 @@ IMPL_LINK( SvxAreaTabPage, ModifyBitmapHdl_Impl, void *, EMPTYARG )
if( _nPos != LISTBOX_ENTRY_NOTFOUND )
{
// ItemSet fuellen und an aCtlXRectPreview weiterleiten
- XBitmapEntry* pEntry = pBitmapList->GetBitmap( _nPos );
+ const XBitmapEntry* pEntry = pBitmapList->GetBitmap(_nPos);
- rXFSet.Put( XFillStyleItem( XFILL_BITMAP ) );
- rXFSet.Put( XFillBitmapItem( String(), pEntry->GetXBitmap() ) );
+ rXFSet.Put(XFillStyleItem(XFILL_BITMAP));
+ rXFSet.Put(XFillBitmapItem(String(), pEntry->GetGraphicObject()));
}
// NEU
else if( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLBITMAP ), sal_True, &pPoolItem ) )
{
- rXFSet.Put( XFillStyleItem( XFILL_BITMAP ) );
- rXFSet.Put( XFillBitmapItem( String(), ( ( const XFillBitmapItem* ) pPoolItem )->GetBitmapValue() ) );
+ rXFSet.Put(XFillStyleItem(XFILL_BITMAP));
+ rXFSet.Put(XFillBitmapItem(String(), ((const XFillBitmapItem*)pPoolItem)->GetGraphicObject()));
}
else
rXFSet.Put( XFillStyleItem( XFILL_NONE ) );
diff --git a/cui/source/tabpages/tpbitmap.cxx b/cui/source/tabpages/tpbitmap.cxx
index 992539c13886..d67c513c97e6 100644
--- a/cui/source/tabpages/tpbitmap.cxx
+++ b/cui/source/tabpages/tpbitmap.cxx
@@ -112,7 +112,7 @@ SvxBitmapTabPage::SvxBitmapTabPage
pXPool ( (XOutdevItemPool*) rInAttrs.GetPool() ),
aXFStyleItem ( XFILL_BITMAP ),
- aXBitmapItem ( String(), XOBitmap() ),
+ aXBitmapItem ( String(), Graphic() ),
aXFillAttr ( pXPool ),
rXFSet ( aXFillAttr.GetItemSet() )
{
@@ -265,32 +265,28 @@ sal_Bool SvxBitmapTabPage::FillItemSet( SfxItemSet& _rOutAttrs )
{
if( *pDlgType == 0 && *pbAreaTP == sal_False ) // Flaechen-Dialog
{
- if( *pPageType == PT_BITMAP )
+ if(PT_BITMAP == *pPageType)
{
- // CheckChanges_Impl(); <-- doppelte Abfrage ?
+ const sal_uInt16 nPos(aLbBitmaps.GetSelectEntryPos());
- XOBitmap aXOBitmap;
- String aString;
- sal_uInt16 nPos = aLbBitmaps.GetSelectEntryPos();
- if( nPos != LISTBOX_ENTRY_NOTFOUND )
+ _rOutAttrs.Put(XFillStyleItem(XFILL_BITMAP));
+
+ if(LISTBOX_ENTRY_NOTFOUND != nPos)
{
- aXOBitmap = pBitmapList->GetBitmap( nPos )->GetXBitmap();
- aString = aLbBitmaps.GetSelectEntry();
+ const XBitmapEntry* pXBitmapEntry = pBitmapList->GetBitmap(nPos);
+ const String aString(aLbBitmaps.GetSelectEntry());
+ _rOutAttrs.Put(XFillBitmapItem(aString, pXBitmapEntry->GetGraphicObject()));
}
else
{
- aXOBitmap = aBitmapCtl.GetXBitmap();
-
- // #85339# if it's an array, force conversion to bitmap before using it.
- if(aXOBitmap.GetBitmapType() == XBITMAP_8X8)
- aXOBitmap.GetBitmap();
+ const BitmapEx aBitmapEx(aBitmapCtl.GetBitmapEx());
+ _rOutAttrs.Put(XFillBitmapItem(String(), Graphic(aBitmapEx)));
}
- _rOutAttrs.Put( XFillStyleItem( XFILL_BITMAP ) );
- _rOutAttrs.Put( XFillBitmapItem( aString, aXOBitmap ) );
}
}
+
return sal_True;
}
@@ -306,7 +302,7 @@ void SvxBitmapTabPage::Reset( const SfxItemSet& )
aBitmapCtl.SetBmpArray( aCtlPixel.GetBitmapPixelPtr() );
// Bitmap holen und darstellen
- XFillBitmapItem aBmpItem( (const String &) String(), aBitmapCtl.GetXBitmap() );
+ const XFillBitmapItem aBmpItem(String(), Graphic(aBitmapCtl.GetBitmapEx()));
rXFSet.Put( aBmpItem );
aCtlPreview.SetAttributes( aXFillAttr.GetItemSet() );
aCtlPreview.Invalidate();
@@ -341,153 +337,49 @@ SfxTabPage* SvxBitmapTabPage::Create( Window* pWindow,
IMPL_LINK( SvxBitmapTabPage, ChangeBitmapHdl_Impl, void *, EMPTYARG )
{
- XOBitmap* pXOBitmap = NULL;
- int nPos = aLbBitmaps.GetSelectEntryPos();
+ GraphicObject* pGraphicObject = 0;
+ int nPos(aLbBitmaps.GetSelectEntryPos());
- if( nPos != LISTBOX_ENTRY_NOTFOUND )
- pXOBitmap = new XOBitmap( ( (XBitmapEntry*) pBitmapList->GetBitmap( nPos ) )->GetXBitmap() );
+ if(LISTBOX_ENTRY_NOTFOUND != nPos)
+ {
+ pGraphicObject = new GraphicObject(pBitmapList->GetBitmap(nPos)->GetGraphicObject());
+ }
else
{
- const SfxPoolItem* pPoolItem = NULL;
- if( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLSTYLE ), sal_True, &pPoolItem ) )
+ const SfxPoolItem* pPoolItem = 0;
+
+ if(SFX_ITEM_SET == rOutAttrs.GetItemState(GetWhich(XATTR_FILLSTYLE), true, &pPoolItem))
{
- XFillStyle eXFS = (XFillStyle) ( ( const XFillStyleItem* ) pPoolItem )->GetValue();
- if( ( XFILL_BITMAP == eXFS ) &&
- ( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLBITMAP ), sal_True, &pPoolItem ) ) )
+ const XFillStyle eXFS((XFillStyle)((const XFillStyleItem*)pPoolItem)->GetValue());
+
+ if((XFILL_BITMAP == eXFS) && (SFX_ITEM_SET == rOutAttrs.GetItemState(GetWhich(XATTR_FILLBITMAP), true, &pPoolItem)))
{
- pXOBitmap = new XOBitmap( ( ( const XFillBitmapItem* ) pPoolItem )->GetBitmapValue() );
+ pGraphicObject = new GraphicObject(((const XFillBitmapItem*)pPoolItem)->GetGraphicObject());
}
}
- if( !pXOBitmap )
+
+ if(!pGraphicObject)
{
- aLbBitmaps.SelectEntryPos( 0 );
+ aLbBitmaps.SelectEntryPos(0);
nPos = aLbBitmaps.GetSelectEntryPos();
- if( nPos != LISTBOX_ENTRY_NOTFOUND )
- pXOBitmap = new XOBitmap( ( (XBitmapEntry*) pBitmapList->GetBitmap( nPos ) )->GetXBitmap() );
- }
- }
- if( pXOBitmap )
- {
- //WorkWindow aTmpWW( DLGWIN );
- //VirtualDevice aVD( aTmpWW );
- //sal_uInt16 nLines = aCtlPixel.GetLineCount();
- //Color aPixelColor, aBackColor;
- //sal_Bool bPixelColor = sal_False;
- //sal_uInt16 nWidth = pBitmap->GetSizePixel().Width();
- //sal_uInt16 nHeight = pBitmap->GetSizePixel().Height();
-
- // #85339# try to convert bitmapped item to array item.
- if(pXOBitmap->GetBitmapType() == XBITMAP_IMPORT)
- {
- Bitmap aBitmap(pXOBitmap->GetBitmap());
- Size aSizePixel(aBitmap.GetSizePixel());
- if(8 == aSizePixel.Width() && 8 == aSizePixel.Height())
+ if(LISTBOX_ENTRY_NOTFOUND != nPos)
{
- sal_uInt16* pPixelArray = new sal_uInt16[64];
- sal_uInt32 nCol1(0xffffffff); // background
- sal_uInt32 nCol2(0xffffffff); // pixel
- BitmapReadAccess* pAccess = aBitmap.AcquireReadAccess();
- sal_Bool bValid(sal_True);
-
- if(pAccess)
- {
- for(sal_uInt32 a(0); bValid && a < 64; a++)
- {
- const BitmapColor aBmCol = pAccess->GetColor(a>>3, a%8);
- Color aRgbCol(aBmCol.GetRed(), aBmCol.GetGreen(), aBmCol.GetBlue());
- sal_uInt32 nColVal = aRgbCol.GetRGBColor();
-
- // test with nCol1
- if(nCol1 != nColVal)
- {
- if(0xffffffff == nCol1)
- {
- // nCol1 is used first time
- nCol1 = nColVal;
- pPixelArray[a] = 0;
- }
- else
- {
- // test with nCol2
- if(nCol2 != nColVal)
- {
- if(0xffffffff == nCol2)
- {
- // nCol2 used first time
- nCol2 = nColVal;
- pPixelArray[a] = 1;
- }
- else
- {
- // Third color detected
- bValid = sal_False;
- }
- }
- else
- {
- // color is pixel color
- pPixelArray[a] = 1;
- }
- }
- }
- else
- {
- // color is background color
- pPixelArray[a] = 0;
- }
- }
-
- // release ReadAccess
- aBitmap.ReleaseAccess(pAccess);
- }
- else
- {
- // no access -> no success
- bValid = sal_False;
- }
-
- if(bValid)
- {
- Color aCol1(nCol1);
- Color aCol2(nCol2);
-
- // no pixel color found? Use opposite od background color.
- if(0xffffffff == nCol2)
- {
- aCol2 = Color(
- 0xff - aCol1.GetRed(),
- 0xff - aCol1.GetGreen(),
- 0xff - aCol1.GetBlue());
- }
-
- // transformation did work, create a new Item
- delete pXOBitmap;
- pXOBitmap = new XOBitmap(pPixelArray, aCol2, aCol1);
- }
-
- // cleanup
- delete[] pPixelArray;
+ pGraphicObject = new GraphicObject(pBitmapList->GetBitmap(nPos)->GetGraphicObject());
}
}
+ }
+
+ if(pGraphicObject)
+ {
+ BitmapColor aBack;
+ BitmapColor aFront;
+ bool bIs8x8(isHistorical8x8(pGraphicObject->GetGraphic().GetBitmap(), aBack, aFront));
aLbColor.SetNoSelection();
aLbBackgroundColor.SetNoSelection();
- if( pXOBitmap->GetBitmapType() == XBITMAP_IMPORT )
- {
- aCtlPixel.Reset();
- aCtlPixel.SetPaintable( sal_False );
- aCtlPixel.Disable();
- aFtPixelEdit.Disable();
- aFtColor.Disable();
- aLbColor.Disable();
- aFtBackgroundColor.Disable();
- aLbBackgroundColor.Disable();
- aBtnModify.Disable();
- aBtnAdd.Disable();
- }
- else if( pXOBitmap->GetBitmapType() == XBITMAP_8X8 )
+ if(bIs8x8)
{
aCtlPixel.SetPaintable( sal_True );
aCtlPixel.Enable();
@@ -500,10 +392,10 @@ IMPL_LINK( SvxBitmapTabPage, ChangeBitmapHdl_Impl, void *, EMPTYARG )
aBtnAdd.Enable();
// Setzen des PixelControls
- aCtlPixel.SetXBitmap( *pXOBitmap );
+ aCtlPixel.SetXBitmap(pGraphicObject->GetGraphic().GetBitmapEx());
- Color aPixelColor = pXOBitmap->GetPixelColor();
- Color aBackColor = pXOBitmap->GetBackgroundColor();
+ Color aPixelColor = aFront;
+ Color aBackColor = aBack;
aBitmapCtl.SetPixelColor( aPixelColor );
aBitmapCtl.SetBackgroundColor( aBackColor );
@@ -529,19 +421,34 @@ IMPL_LINK( SvxBitmapTabPage, ChangeBitmapHdl_Impl, void *, EMPTYARG )
aLbBackgroundColor.SelectEntry( aBackColor );
}
}
+ else
+ {
+ aCtlPixel.Reset();
+ aCtlPixel.SetPaintable( sal_False );
+ aCtlPixel.Disable();
+ aFtPixelEdit.Disable();
+ aFtColor.Disable();
+ aLbColor.Disable();
+ aFtBackgroundColor.Disable();
+ aLbBackgroundColor.Disable();
+ aBtnModify.Disable();
+ aBtnAdd.Disable();
+ }
+
aCtlPixel.Invalidate();
// Bitmap darstellen
- XFillBitmapItem aXBmpItem( (const String &) String(), *pXOBitmap );
+ const XFillBitmapItem aXBmpItem(String(), *pGraphicObject);
rXFSet.Put( aXBmpItem );
aCtlPreview.SetAttributes( aXFillAttr.GetItemSet() );
aCtlPreview.Invalidate();
bBmpChanged = sal_False;
- delete pXOBitmap;
+ delete pGraphicObject;
}
- return 0L;
+
+ return 0;
}
// -----------------------------------------------------------------------
@@ -667,21 +574,17 @@ IMPL_LINK( SvxBitmapTabPage, ClickAddHdl_Impl, void *, EMPTYARG )
XBitmapEntry* pEntry = 0;
if( aCtlPixel.IsEnabled() )
{
- XOBitmap aXOBitmap = aBitmapCtl.GetXBitmap();
-
- // #85339# if it's an array, force conversion to bitmap before using it.
- if(aXOBitmap.GetBitmapType() == XBITMAP_8X8)
- aXOBitmap.GetBitmap();
+ const BitmapEx aBitmapEx(aBitmapCtl.GetBitmapEx());
- pEntry = new XBitmapEntry( aXOBitmap, aName );
+ pEntry = new XBitmapEntry(Graphic(aBitmapEx), aName);
}
else // Es muss sich um eine nicht vorhandene importierte Bitmap handeln
{
- const SfxPoolItem* pPoolItem = NULL;
- if( SFX_ITEM_SET == rOutAttrs.GetItemState( XATTR_FILLBITMAP, sal_True, &pPoolItem ) )
+ const SfxPoolItem* pPoolItem = 0;
+
+ if(SFX_ITEM_SET == rOutAttrs.GetItemState(XATTR_FILLBITMAP, true, &pPoolItem))
{
- XOBitmap aXOBitmap( ( ( const XFillBitmapItem* ) pPoolItem )->GetBitmapValue() );
- pEntry = new XBitmapEntry( aXOBitmap, aName );
+ pEntry = new XBitmapEntry(dynamic_cast< const XFillBitmapItem* >(pPoolItem)->GetGraphicObject(), aName);
}
}
@@ -795,9 +698,7 @@ IMPL_LINK( SvxBitmapTabPage, ClickImportHdl_Impl, void *, EMPTYARG )
if( !nError )
{
- Bitmap aBmp( aGraphic.GetBitmap() );
- XBitmapEntry* pEntry =
- new XBitmapEntry( XOBitmap( aBmp ), aName );
+ XBitmapEntry* pEntry = new XBitmapEntry( aGraphic, aName );
pBitmapList->Insert( pEntry );
aLbBitmaps.Append( pEntry );
@@ -875,13 +776,9 @@ IMPL_LINK( SvxBitmapTabPage, ClickModifyHdl_Impl, void *, EMPTYARG )
pEntry->SetName( aName );
- XOBitmap aXOBitmap = aBitmapCtl.GetXBitmap();
-
- // #85339# if it's an array, force conversion to bitmap before using it.
- if(aXOBitmap.GetBitmapType() == XBITMAP_8X8)
- aXOBitmap.GetBitmap();
+ const BitmapEx aBitmapEx(aBitmapCtl.GetBitmapEx());
- pEntry->SetXBitmap( aXOBitmap );
+ pEntry->SetGraphicObject(Graphic(aBitmapEx));
aLbBitmaps.Modify( pEntry, nPos );
aLbBitmaps.SelectEntryPos( nPos );
@@ -1111,7 +1008,7 @@ IMPL_LINK( SvxBitmapTabPage, ChangePixelColorHdl_Impl, void *, EMPTYARG )
aBitmapCtl.SetPixelColor( aLbColor.GetSelectEntryColor() );
// Bitmap holen und darstellen
- rXFSet.Put( XFillBitmapItem( String(), aBitmapCtl.GetXBitmap() ) );
+ rXFSet.Put(XFillBitmapItem(String(), Graphic(aBitmapCtl.GetBitmapEx())));
aCtlPreview.SetAttributes( aXFillAttr.GetItemSet() );
aCtlPreview.Invalidate();
@@ -1130,7 +1027,7 @@ IMPL_LINK( SvxBitmapTabPage, ChangeBackgrndColorHdl_Impl, void *, EMPTYARG )
aBitmapCtl.SetBackgroundColor( aLbBackgroundColor.GetSelectEntryColor() );
// Bitmap holen und darstellen
- rXFSet.Put( XFillBitmapItem( String(), aBitmapCtl.GetXBitmap() ) );
+ rXFSet.Put(XFillBitmapItem(String(), Graphic(aBitmapCtl.GetBitmapEx())));
aCtlPreview.SetAttributes( aXFillAttr.GetItemSet() );
aCtlPreview.Invalidate();
@@ -1148,7 +1045,7 @@ void SvxBitmapTabPage::PointChanged( Window* pWindow, RECT_POINT )
aBitmapCtl.SetBmpArray( aCtlPixel.GetBitmapPixelPtr() );
// Bitmap holen und darstellen
- rXFSet.Put( XFillBitmapItem( String(), aBitmapCtl.GetXBitmap() ) );
+ rXFSet.Put(XFillBitmapItem(String(), Graphic(aBitmapCtl.GetBitmapEx())));
aCtlPreview.SetAttributes( aXFillAttr.GetItemSet() );
aCtlPreview.Invalidate();
diff --git a/cui/source/tabpages/tpline.cxx b/cui/source/tabpages/tpline.cxx
index a95d7430997c..ccfa1c71dc5b 100644
--- a/cui/source/tabpages/tpline.cxx
+++ b/cui/source/tabpages/tpline.cxx
@@ -62,7 +62,6 @@
#include <sfx2/objsh.hxx>
#include <editeng/brshitem.hxx>
#include <svx/gallery.hxx>
-#include <svx/xbitmap.hxx>
#include <unotools/localfilehelper.hxx>
#include "paragrph.hrc"
#include "sfx2/opengrf.hxx"
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx
index bcb3114e5786..6a9e9c4a9121 100644
--- a/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx
@@ -25,10 +25,11 @@
#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLBITMAPATTRIBUTE_HXX
#include <drawinglayer/drawinglayerdllapi.h>
+
//////////////////////////////////////////////////////////////////////////////
// predefines
-class Bitmap;
+class BitmapEx;
namespace basegfx {
class B2DRange;
@@ -54,7 +55,7 @@ namespace drawinglayer
public:
/// constructors/assignmentoperator/destructor
SdrFillBitmapAttribute(
- const Bitmap& rBitmap,
+ const BitmapEx& rBitmapEx,
const basegfx::B2DVector& rSize,
const basegfx::B2DVector& rOffset,
const basegfx::B2DVector& rOffsetPosition,
@@ -74,7 +75,7 @@ namespace drawinglayer
bool operator==(const SdrFillBitmapAttribute& rCandidate) const;
// data read access
- const Bitmap& getBitmap() const;
+ const BitmapEx& getBitmapEx() const;
const basegfx::B2DVector& getSize() const;
const basegfx::B2DVector& getOffset() const;
const basegfx::B2DVector& getOffsetPosition() const;
diff --git a/drawinglayer/source/attribute/sdrfillbitmapattribute.cxx b/drawinglayer/source/attribute/sdrfillbitmapattribute.cxx
index fb327a942b9e..f122c7c9c5b5 100644
--- a/drawinglayer/source/attribute/sdrfillbitmapattribute.cxx
+++ b/drawinglayer/source/attribute/sdrfillbitmapattribute.cxx
@@ -41,7 +41,7 @@ namespace drawinglayer
sal_uInt32 mnRefCount;
// data definitions
- Bitmap maBitmap;
+ BitmapEx maBitmapEx;
basegfx::B2DVector maSize;
basegfx::B2DVector maOffset;
basegfx::B2DVector maOffsetPosition;
@@ -53,7 +53,7 @@ namespace drawinglayer
unsigned mbLogSize : 1;
ImpSdrFillBitmapAttribute(
- const Bitmap& rBitmap,
+ const BitmapEx& rBitmapEx,
const basegfx::B2DVector& rSize,
const basegfx::B2DVector& rOffset,
const basegfx::B2DVector& rOffsetPosition,
@@ -62,7 +62,7 @@ namespace drawinglayer
bool bStretch,
bool bLogSize)
: mnRefCount(0),
- maBitmap(rBitmap),
+ maBitmapEx(rBitmapEx),
maSize(rSize),
maOffset(rOffset),
maOffsetPosition(rOffsetPosition),
@@ -74,7 +74,7 @@ namespace drawinglayer
}
// data read access
- const Bitmap& getBitmap() const { return maBitmap; }
+ const BitmapEx& getBitmapEx() const { return maBitmapEx; }
const basegfx::B2DVector& getSize() const { return maSize; }
const basegfx::B2DVector& getOffset() const { return maOffset; }
const basegfx::B2DVector& getOffsetPosition() const { return maOffsetPosition; }
@@ -85,7 +85,7 @@ namespace drawinglayer
bool operator==(const ImpSdrFillBitmapAttribute& rCandidate) const
{
- return (getBitmap() == rCandidate.getBitmap()
+ return (getBitmapEx() == rCandidate.getBitmapEx()
&& getSize() == rCandidate.getSize()
&& getOffset() == rCandidate.getOffset()
&& getOffsetPosition() == rCandidate.getOffsetPosition()
@@ -102,7 +102,7 @@ namespace drawinglayer
if(!pDefault)
{
pDefault = new ImpSdrFillBitmapAttribute(
- Bitmap(),
+ BitmapEx(),
basegfx::B2DVector(),
basegfx::B2DVector(),
basegfx::B2DVector(),
@@ -120,7 +120,7 @@ namespace drawinglayer
};
SdrFillBitmapAttribute::SdrFillBitmapAttribute(
- const Bitmap& rBitmap,
+ const BitmapEx& rBitmapEx,
const basegfx::B2DVector& rSize,
const basegfx::B2DVector& rOffset,
const basegfx::B2DVector& rOffsetPosition,
@@ -128,8 +128,16 @@ namespace drawinglayer
bool bTiling,
bool bStretch,
bool bLogSize)
- : mpSdrFillBitmapAttribute(new ImpSdrFillBitmapAttribute(
- rBitmap, rSize, rOffset, rOffsetPosition, rRectPoint, bTiling, bStretch, bLogSize))
+ : mpSdrFillBitmapAttribute(
+ new ImpSdrFillBitmapAttribute(
+ rBitmapEx,
+ rSize,
+ rOffset,
+ rOffsetPosition,
+ rRectPoint,
+ bTiling,
+ bStretch,
+ bLogSize))
{
}
@@ -197,9 +205,9 @@ namespace drawinglayer
return (*rCandidate.mpSdrFillBitmapAttribute == *mpSdrFillBitmapAttribute);
}
- const Bitmap& SdrFillBitmapAttribute::getBitmap() const
+ const BitmapEx& SdrFillBitmapAttribute::getBitmapEx() const
{
- return mpSdrFillBitmapAttribute->getBitmap();
+ return mpSdrFillBitmapAttribute->getBitmapEx();
}
const basegfx::B2DVector& SdrFillBitmapAttribute::getSize() const
@@ -240,8 +248,8 @@ namespace drawinglayer
FillBitmapAttribute SdrFillBitmapAttribute::getFillBitmapAttribute(const basegfx::B2DRange& rRange) const
{
// get logical size of bitmap (before expanding eventually)
- Bitmap aBitmap(getBitmap());
- const basegfx::B2DVector aLogicalSize(aBitmap.GetPrefSize().getWidth(), aBitmap.GetPrefSize().getHeight());
+ BitmapEx aBitmapEx(getBitmapEx());
+ const basegfx::B2DVector aLogicalSize(aBitmapEx.GetPrefSize().getWidth(), aBitmapEx.GetPrefSize().getHeight());
// get hor/ver shiftings and apply them eventually to the bitmap, but only
// when tiling is on
@@ -252,45 +260,45 @@ namespace drawinglayer
{
if(0.0 != getOffset().getX() || 0.0 != getOffset().getY())
{
- const sal_uInt32 nWidth(aBitmap.GetSizePixel().getWidth());
- const sal_uInt32 nHeight(aBitmap.GetSizePixel().getHeight());
+ const sal_uInt32 nWidth(aBitmapEx.GetSizePixel().getWidth());
+ const sal_uInt32 nHeight(aBitmapEx.GetSizePixel().getHeight());
if(0.0 != getOffset().getX())
{
bExpandHeight = true;
const sal_uInt32 nOffset(basegfx::fround(((double)nWidth * getOffset().getX()) / 100.0));
- aBitmap.Expand(0L, nHeight);
+ aBitmapEx.Expand(0L, nHeight);
const Size aSizeA(nOffset, nHeight);
const Rectangle aDstA(Point(0L, nHeight), aSizeA);
const Rectangle aSrcA(Point(nWidth - nOffset, 0L), aSizeA);
- aBitmap.CopyPixel(aDstA, aSrcA);
+ aBitmapEx.CopyPixel(aDstA, aSrcA);
const Size aSizeB(nWidth - nOffset, nHeight);
const Rectangle aDstB(Point(nOffset, nHeight), aSizeB);
const Rectangle aSrcB(Point(0L, 0L), aSizeB);
- aBitmap.CopyPixel(aDstB, aSrcB);
+ aBitmapEx.CopyPixel(aDstB, aSrcB);
}
else
{
bExpandWidth = true;
const sal_uInt32 nOffset(basegfx::fround(((double)nHeight * getOffset().getY()) / 100.0));
- aBitmap.Expand(nWidth, 0L);
+ aBitmapEx.Expand(nWidth, 0L);
const Size aSize(nWidth, nHeight);
const Rectangle aDst(Point(nWidth, 0L), aSize);
const Rectangle aSrc(Point(0L, 0L), aSize);
- aBitmap.CopyPixel(aDst, aSrc);
+ aBitmapEx.CopyPixel(aDst, aSrc);
const Size aSizeA(nWidth, nOffset);
const Rectangle aDstA(Point(0L, 0L), aSizeA);
const Rectangle aSrcA(Point(nWidth, nHeight - nOffset), aSizeA);
- aBitmap.CopyPixel(aDstA, aSrcA);
+ aBitmapEx.CopyPixel(aDstA, aSrcA);
const Size aSizeB(nWidth, nHeight - nOffset);
const Rectangle aDstB(Point(0L, nOffset), aSizeB);
const Rectangle aSrcB(Point(nWidth, 0L), aSizeB);
- aBitmap.CopyPixel(aDstB, aSrcB);
+ aBitmapEx.CopyPixel(aDstB, aSrcB);
}
}
}
@@ -391,7 +399,7 @@ namespace drawinglayer
aBitmapSize.setY(aBitmapSize.getY() / fRangeHeight);
}
- return FillBitmapAttribute(BitmapEx(aBitmap), aBitmapTopLeft, aBitmapSize, getTiling());
+ return FillBitmapAttribute(aBitmapEx, aBitmapTopLeft, aBitmapSize, getTiling());
}
} // end of namespace attribute
} // end of namespace drawinglayer
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index ecebfd4b9f2a..3487ee4a2529 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -1316,9 +1316,8 @@ void ApplyRectangularGradientAsBitmap( const SvxMSDffManager& rManager, SvStream
}
}
- XOBitmap aXBmp( aBitmap, XBITMAP_STRETCH );
- rSet.Put( XFillBmpTileItem( sal_False ) );
- rSet.Put( XFillBitmapItem( String(), aXBmp ) );
+ rSet.Put(XFillBmpTileItem(false));
+ rSet.Put(XFillBitmapItem(String(), Graphic(aBitmap)));
}
}
}
@@ -1452,45 +1451,30 @@ void DffPropertyReader::ApplyFillAttributes( SvStream& rIn, SfxItemSet& rSet, co
bOK = SeekToContent( DFF_Prop_fillBlip, rIn ) && rManager.GetBLIPDirect( rIn, aGraf, NULL );
if ( bOK )
{
- Bitmap aBmp( aGraf.GetBitmap() );
-
if ( eMSO_FillType == mso_fillPattern )
{
Color aCol1( COL_WHITE ), aCol2( COL_WHITE );
+
if ( IsProperty( DFF_Prop_fillColor ) )
aCol1 = rManager.MSO_CLR_ToColor( GetPropertyValue( DFF_Prop_fillColor ), DFF_Prop_fillColor );
+
if ( IsProperty( DFF_Prop_fillBackColor ) )
aCol2 = rManager.MSO_CLR_ToColor( GetPropertyValue( DFF_Prop_fillBackColor ), DFF_Prop_fillBackColor );
- XOBitmap aXOBitmap;
- aXOBitmap.SetBitmap( aBmp );
- aXOBitmap.SetBitmapType( XBITMAP_IMPORT );
-
- if( aBmp.GetSizePixel().Width() == 8 && aBmp.GetSizePixel().Height() == 8 && aBmp.GetColorCount() == 2)
- {
- aXOBitmap.Bitmap2Array();
- aXOBitmap.SetBitmapType( XBITMAP_8X8 );
- aXOBitmap.SetPixelSize( aBmp.GetSizePixel() );
- aXOBitmap.SetPixelColor( aCol1 );
- aXOBitmap.SetBackgroundColor( aCol2 );
- aXOBitmap.Array2Bitmap();
- }
- rSet.Put( XFillBitmapItem( String(), aXOBitmap ) );
+ rSet.Put(XFillBitmapItem(String(), aGraf));
}
else if ( eMSO_FillType == mso_fillTexture )
{
- XOBitmap aXBmp( aBmp, XBITMAP_STRETCH );
- rSet.Put( XFillBmpTileItem( sal_True ) );
- rSet.Put( XFillBitmapItem( String(), aXBmp ) );
- rSet.Put( XFillBmpSizeXItem( GetPropertyValue( DFF_Prop_fillWidth, 0 ) / 360 ) );
- rSet.Put( XFillBmpSizeYItem( GetPropertyValue( DFF_Prop_fillHeight, 0 ) / 360 ) );
- rSet.Put( XFillBmpSizeLogItem( sal_True ) );
+ rSet.Put(XFillBmpTileItem(true));
+ rSet.Put(XFillBitmapItem(String(), aGraf));
+ rSet.Put(XFillBmpSizeXItem(GetPropertyValue(DFF_Prop_fillWidth, 0) / 360));
+ rSet.Put(XFillBmpSizeYItem(GetPropertyValue(DFF_Prop_fillHeight, 0) / 360));
+ rSet.Put(XFillBmpSizeLogItem(true));
}
else
{
- XOBitmap aXBmp( aBmp, XBITMAP_STRETCH );
- rSet.Put( XFillBitmapItem( String(), aXBmp ) );
- rSet.Put( XFillBmpTileItem( sal_False ) );
+ rSet.Put(XFillBitmapItem(String(), aGraf));
+ rSet.Put(XFillBmpTileItem(false));
}
}
}
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx
index 4ce43ba9013b..e02b62f8a92b 100644
--- a/filter/source/msfilter/svdfppt.cxx
+++ b/filter/source/msfilter/svdfppt.cxx
@@ -7571,10 +7571,9 @@ void ApplyCellAttributes( const SdrObject* pObj, Reference< XCell >& xCell )
{
eFS = com::sun::star::drawing::FillStyle_BITMAP;
- XFillBitmapItem aXFillBitmapItem((const XFillBitmapItem&)pObj->GetMergedItem( XATTR_FILLBITMAP ));
- XOBitmap aLocalXOBitmap( aXFillBitmapItem.GetBitmapValue() );
+ const XFillBitmapItem aXFillBitmapItem((const XFillBitmapItem&)pObj->GetMergedItem( XATTR_FILLBITMAP ));
rtl::OUString aURL( RTL_CONSTASCII_USTRINGPARAM(UNO_NAME_GRAPHOBJ_URLPREFIX));
- aURL += rtl::OUString::createFromAscii( aLocalXOBitmap.GetGraphicObject().GetUniqueID().GetBuffer() );
+ aURL += rtl::OUString::createFromAscii(aXFillBitmapItem.GetGraphicObject().GetUniqueID().GetBuffer());
static const rtl::OUString sFillBitmapURL( String( RTL_CONSTASCII_USTRINGPARAM( "FillBitmapURL" ) ) );
xPropSet->setPropertyValue( sFillBitmapURL, Any( aURL ) );
diff --git a/sc/source/filter/excel/xiescher.cxx b/sc/source/filter/excel/xiescher.cxx
index c262c59eba18..329a7215aeef 100644
--- a/sc/source/filter/excel/xiescher.cxx
+++ b/sc/source/filter/excel/xiescher.cxx
@@ -660,15 +660,8 @@ void XclImpDrawObjBase::ConvertFillStyle( SdrObject& rSdrObj, const XclObjFillDa
aMemStrm.Seek( STREAM_SEEK_TO_BEGIN );
Bitmap aBitmap;
aBitmap.Read( aMemStrm, sal_False );
- XOBitmap aXOBitmap( aBitmap );
- aXOBitmap.Bitmap2Array();
- aXOBitmap.SetBitmapType( XBITMAP_8X8 );
- if( aXOBitmap.GetBackgroundColor().GetColor() == COL_BLACK )
- ::std::swap( aPattColor, aBackColor );
- aXOBitmap.SetPixelColor( aPattColor );
- aXOBitmap.SetBackgroundColor( aBackColor );
- rSdrObj.SetMergedItem( XFillStyleItem( XFILL_BITMAP ) );
- rSdrObj.SetMergedItem( XFillBitmapItem( EMPTY_STRING, aXOBitmap ) );
+ rSdrObj.SetMergedItem(XFillStyleItem(XFILL_BITMAP));
+ rSdrObj.SetMergedItem(XFillBitmapItem(EMPTY_STRING, Graphic(aBitmap)));
}
}
}
diff --git a/sc/source/ui/view/viewfun7.cxx b/sc/source/ui/view/viewfun7.cxx
index 956607db8a76..e6dd158f6435 100644
--- a/sc/source/ui/view/viewfun7.cxx
+++ b/sc/source/ui/view/viewfun7.cxx
@@ -36,7 +36,6 @@
#include <svx/svdpage.hxx>
#include <svx/svdpagv.hxx>
#include <svx/svdundo.hxx>
-#include <svx/xbitmap.hxx>
#include <svx/xbtmpit.hxx>
#include <svx/xoutbmp.hxx>
#include <sfx2/objsh.hxx>
@@ -467,15 +466,12 @@ sal_Bool ScViewFunc::ApplyGraphicToObject( SdrObject* pPickObj, const Graphic& r
/******************************************************************
* Das Objekt wird mit der Graphik gefuellt
******************************************************************/
- //pScDrawView->BegUndo(ScGlobal::GetRscString(STR_UNDO_DRAGDROP));
pScDrawView->AddUndo(new SdrUndoAttrObj(*pPickObj));
- //pScDrawView->EndUndo();
- XOBitmap aXOBitmap( rGraphic.GetBitmap() );
SfxItemSet aSet( pScDrawView->GetModel()->GetItemPool(),
XATTR_FILLSTYLE, XATTR_FILLBITMAP );
aSet.Put(XFillStyleItem(XFILL_BITMAP));
- aSet.Put(XFillBitmapItem(String(), aXOBitmap));
+ aSet.Put(XFillBitmapItem(String(), rGraphic));
pPickObj->SetMergedItemSetAndBroadcast(aSet);
diff --git a/sd/source/core/drawdoc4.cxx b/sd/source/core/drawdoc4.cxx
index 67a5aa8745a8..b03a0feb7b1b 100644
--- a/sd/source/core/drawdoc4.cxx
+++ b/sd/source/core/drawdoc4.cxx
@@ -190,7 +190,7 @@ void SdDrawDocument::CreateLayoutTemplates()
Color aNullColor( COL_WHITE );
Bitmap aNullBmp( aNullSize, 8 );
aNullBmp.Erase( aNullColor );
- rISet.Put(XFillBitmapItem(pPool,aNullBmp));
+ rISet.Put(XFillBitmapItem(pPool, Graphic(aNullBmp)));
// Schattenattribute (Drawing Engine)
rISet.Put(SdrShadowItem(sal_False));
diff --git a/sd/source/ui/func/fupage.cxx b/sd/source/ui/func/fupage.cxx
index d70a6d1b82de..5669633976d2 100644
--- a/sd/source/ui/func/fupage.cxx
+++ b/sd/source/ui/func/fupage.cxx
@@ -312,7 +312,7 @@ const SfxItemSet* FuPage::ExecuteDialog( Window* pParent )
// MigrateItemSet makes sure the XFillBitmapItem will have a unique name
SfxItemSet aMigrateSet( mpDoc->GetPool(), XATTR_FILLBITMAP, XATTR_FILLBITMAP );
- aMigrateSet.Put( XFillBitmapItem( String(RTL_CONSTASCII_USTRINGPARAM("background")), XOBitmap(aGraphic) ) );
+ aMigrateSet.Put(XFillBitmapItem(String(RTL_CONSTASCII_USTRINGPARAM("background")), aGraphic));
mpDoc->MigrateItemSet( &aMigrateSet, pTempSet.get(), NULL );
pTempSet->Put( XFillBmpStretchItem( sal_True ));
diff --git a/sd/source/ui/view/sdview4.cxx b/sd/source/ui/view/sdview4.cxx
index 1f5e0f28f567..278ef5f98d8a 100644
--- a/sd/source/ui/view/sdview4.cxx
+++ b/sd/source/ui/view/sdview4.cxx
@@ -166,10 +166,9 @@ SdrGrafObj* View::InsertGraphic( const Graphic& rGraphic, sal_Int8& rAction,
EndUndo();
}
- XOBitmap aXOBitmap( rGraphic.GetBitmap() );
SfxItemSet aSet(mpDocSh->GetPool(), XATTR_FILLSTYLE, XATTR_FILLBITMAP);
aSet.Put(XFillStyleItem(XFILL_BITMAP));
- aSet.Put(XFillBitmapItem(&mpDocSh->GetPool(), aXOBitmap));
+ aSet.Put(XFillBitmapItem(&mpDocSh->GetPool(), rGraphic));
pPickObj->SetMergedItemSetAndBroadcast(aSet);
}
}
diff --git a/svx/Package_inc.mk b/svx/Package_inc.mk
index d157384731b7..1451bf8bd86c 100644
--- a/svx/Package_inc.mk
+++ b/svx/Package_inc.mk
@@ -480,7 +480,6 @@ $(eval $(call gb_Package_add_file,svx_inc,inc/svx/sxmsitm.hxx,svx/sxmsitm.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdtaditm.hxx,svx/sdtaditm.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/svdotext.hxx,svx/svdotext.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/chrtitem.hxx,svx/chrtitem.hxx))
-$(eval $(call gb_Package_add_file,svx_inc,inc/svx/xbitmap.hxx,svx/xbitmap.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/sxallitm.hxx,svx/sxallitm.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/dlgutil.hxx,svx/dlgutil.hxx))
$(eval $(call gb_Package_add_file,svx_inc,inc/svx/unopage.hxx,svx/unopage.hxx))
diff --git a/svx/inc/svx/dlgctrl.hxx b/svx/inc/svx/dlgctrl.hxx
index ff1c96636bf6..f7593c252813 100644
--- a/svx/inc/svx/dlgctrl.hxx
+++ b/svx/inc/svx/dlgctrl.hxx
@@ -193,7 +193,7 @@ public:
SvxBitmapCtl( Window* pParent, const Size& rSize );
~SvxBitmapCtl();
- XOBitmap GetXBitmap();
+ BitmapEx GetBitmapEx();
void SetBmpArray( const sal_uInt16* pPixel ) { pBmpArray = pPixel; }
void SetLines( sal_uInt16 nLns ) { nLines = nLns; }
@@ -230,7 +230,7 @@ public:
virtual void Paint( const Rectangle& rRect );
virtual void MouseButtonDown( const MouseEvent& rMEvt );
- void SetXBitmap( const XOBitmap& rXOBitmap );
+ void SetXBitmap( const BitmapEx& rBitmapEx );
void SetPixelColor( const Color& rCol ) { aPixelColor = rCol; }
void SetBackgroundColor( const Color& rCol ) { aBackgroundColor = rCol; }
@@ -322,22 +322,21 @@ private:
class SVX_DLLPUBLIC BitmapLB : public ListBox
{
public:
- BitmapLB( Window* pParent, ResId Id, sal_Bool bUserDraw = sal_True );
+ BitmapLB(Window* pParent, ResId Id, bool bUserDraw = true);
- virtual void Fill( const XBitmapList* pList );
- virtual void UserDraw( const UserDrawEvent& rUDEvt );
+ virtual void Fill(const XBitmapList* pList);
+ virtual void UserDraw(const UserDrawEvent& rUDEvt);
- void Append( XBitmapEntry* pEntry, Bitmap* pBmp = NULL );
- void Modify( XBitmapEntry* pEntry, sal_uInt16 nPos, Bitmap* pBmp = NULL );
- void SelectEntryByList( const XBitmapList* pList, const String& rStr,
- const Bitmap& rBmp);
+ void Append(XBitmapEntry* pEntry, BitmapEx* pBmpEx = 0);
+ void Modify(XBitmapEntry* pEntry, sal_uInt16 nPos, BitmapEx* pBmpEx = 0);
+ void SelectEntryByList(const XBitmapList* pList, const String& rStr);
private:
- VirtualDevice aVD;
- Bitmap aBitmap;
+ VirtualDevice maVD;
+ BitmapEx maBitmapEx;
XBitmapList* mpList;
- sal_Bool mbUserDraw;
+ bool mbUserDraw;
SVX_DLLPRIVATE void SetVirtualDevice();
};
@@ -350,22 +349,21 @@ private:
class FillAttrLB : public ColorListBox
{
private:
- VirtualDevice aVD;
- Bitmap aBitmap;
+ VirtualDevice maVD;
+ BitmapEx maBitmapEx;
void SetVirtualDevice();
public:
- FillAttrLB( Window* pParent, ResId Id );
- FillAttrLB( Window* pParent, WinBits aWB );
+ FillAttrLB( Window* pParent, ResId Id );
+ FillAttrLB( Window* pParent, WinBits aWB );
virtual void Fill( const XColorTable* pTab );
virtual void Fill( const XHatchList* pList );
virtual void Fill( const XGradientList* pList );
virtual void Fill( const XBitmapList* pList );
- void SelectEntryByList( const XBitmapList* pList, const String& rStr,
- const Bitmap& rBmp);
+ void SelectEntryByList(const XBitmapList* pList, const String& rStr);
};
/*************************************************************************
diff --git a/svx/inc/svx/xbitmap.hxx b/svx/inc/svx/xbitmap.hxx
deleted file mode 100644
index eaf97ebfffae..000000000000
--- a/svx/inc/svx/xbitmap.hxx
+++ /dev/null
@@ -1,96 +0,0 @@
-/**************************************************************
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *************************************************************/
-
-
-
-#ifndef _SVX_XBITMAP_HXX
-#define _SVX_XBITMAP_HXX
-
-#include <tools/color.hxx>
-#ifndef _BITMAP_HXX //autogen
-#include <vcl/bitmap.hxx>
-#endif
-#include <svtools/grfmgr.hxx>
-#include <svx/xenum.hxx>
-#include "svx/svxdllapi.h"
-
-//---------------
-// class XOBitmap
-//---------------
-
-#if defined HP9000 || defined SINIX
-static Size aXOBitmapDefaultSize( 8, 8 );
-#endif
-
-class SVX_DLLPUBLIC XOBitmap
-{
-protected:
- XBitmapType eType;
- XBitmapStyle eStyle;
- GraphicObject aGraphicObject;
- sal_uInt16* pPixelArray;
- Size aArraySize;
- Color aPixelColor;
- Color aBckgrColor;
- sal_Bool bGraphicDirty;
-
-public:
- XOBitmap();
- XOBitmap( const GraphicObject& rGraphicObject, XBitmapStyle eStyle = XBITMAP_TILE );
- XOBitmap( const Bitmap& rBitmap, XBitmapStyle eStyle = XBITMAP_TILE );
-#if defined HP9000 || defined SINIX
- XOBitmap( const sal_uInt16* pArray, const Color& aPixelColor,
- const Color& aBckgrColor, const Size& rSize = aXOBitmapDefaultSize,
- XBitmapStyle eStyle = XBITMAP_TILE );
-#else
- XOBitmap( const sal_uInt16* pArray, const Color& aPixelColor,
- const Color& aBckgrColor, const Size& rSize = Size( 8, 8 ),
- XBitmapStyle eStyle = XBITMAP_TILE );
-#endif
- XOBitmap( const XOBitmap& rXBmp );
- ~XOBitmap();
-
- XOBitmap& operator=( const XOBitmap& rXOBitmap );
- int operator==( const XOBitmap& rXOBitmap ) const;
-
- void Bitmap2Array();
- void Array2Bitmap();
-
- void SetGraphicObject( const GraphicObject& rObj ) { aGraphicObject = rObj; bGraphicDirty = sal_False; }
- void SetBitmap( const Bitmap& rBmp ) { aGraphicObject = GraphicObject( Graphic( rBmp ) ); bGraphicDirty = sal_False; }
- void SetBitmapType( XBitmapType eNewType ) { eType = eNewType; }
- void SetBitmapStyle( XBitmapStyle eNewStyle ) { eStyle = eNewStyle; }
- void SetPixelArray( const sal_uInt16* pArray );
- void SetPixelSize( const Size& rSize ) { aArraySize = rSize; bGraphicDirty = sal_True; }
- void SetPixelColor( const Color& rColor ) { aPixelColor = rColor; bGraphicDirty = sal_True; }
- void SetBackgroundColor( const Color& rColor ) { aBckgrColor = rColor; bGraphicDirty = sal_True; }
-
- XBitmapType GetBitmapType() const { return eType; }
- XBitmapStyle GetBitmapStyle() const { return eStyle; }
- const GraphicObject& GetGraphicObject() const;
- Bitmap GetBitmap() const;
- sal_uInt16* GetPixelArray() const { return pPixelArray; }
- Color GetPixelColor() const { return aPixelColor; }
- Color GetBackgroundColor() const { return aBckgrColor; }
-};
-
-#endif
-
diff --git a/svx/inc/svx/xbtmpit.hxx b/svx/inc/svx/xbtmpit.hxx
index c1c0340fbd17..4f0c661e7e72 100644
--- a/svx/inc/svx/xbtmpit.hxx
+++ b/svx/inc/svx/xbtmpit.hxx
@@ -19,31 +19,36 @@
*
*************************************************************/
-
-
#ifndef _SVX_XBTMPIT_HXX
#define _SVX_XBTMPIT_HXX
-#include "svx/svxdllapi.h"
-
-#include <svx/xbitmap.hxx>
+#include <svx/svxdllapi.h>
#include <svx/xit.hxx>
+#include <svtools/grfmgr.hxx>
class SdrModel;
+class BitmapColor;
-//----------------------
+//////////////////////////////////////////////////////////////////////////////
+// helper to construct historical 8x8 bitmaps with two colors
+
+Bitmap SVX_DLLPUBLIC createHistorical8x8FromArray(const sal_uInt16* pArray, Color aColorPix, Color aColorBack);
+bool SVX_DLLPUBLIC isHistorical8x8(const BitmapEx& rBitmapEx, BitmapColor& o_rBack, BitmapColor& o_rFront);
+
+//////////////////////////////////////////////////////////////////////////////
// class XFillBitmapItem
-//----------------------
+
class SVX_DLLPUBLIC XFillBitmapItem : public NameOrIndex
{
- XOBitmap aXOBitmap;
+private:
+ GraphicObject maGraphicObject;
public:
TYPEINFO();
XFillBitmapItem() : NameOrIndex(XATTR_FILLBITMAP, -1 ) {}
- XFillBitmapItem( long nIndex, const XOBitmap& rTheBitmap );
- XFillBitmapItem( const String& rName, const XOBitmap& rTheBitmap );
- XFillBitmapItem( SfxItemPool* pPool, const XOBitmap& rTheBitmap );
+ XFillBitmapItem(long nIndex, const GraphicObject& rGraphicObject);
+ XFillBitmapItem(const String& rName, const GraphicObject& rGraphicObject);
+ XFillBitmapItem(SfxItemPool* pPool, const GraphicObject& rGraphicObject);
XFillBitmapItem( SfxItemPool* pPool );
XFillBitmapItem( const XFillBitmapItem& rItem );
XFillBitmapItem( SvStream& rIn, sal_uInt16 nVer = 0 );
@@ -62,8 +67,8 @@ public:
SfxMapUnit ePresMetric,
String &rText, const IntlWrapper * = 0 ) const;
- const XOBitmap& GetBitmapValue( const XBitmapTable* pTable = 0 ) const; // GetValue -> GetBitmapValue
- void SetBitmapValue( const XOBitmap& rNew ) { aXOBitmap = rNew; Detach(); } // SetValue -> SetBitmapValue
+ const GraphicObject& GetGraphicObject() const;
+ void SetGraphicObject(const GraphicObject& rGraphicObject);
static sal_Bool CompareValueFunc( const NameOrIndex* p1, const NameOrIndex* p2 );
XFillBitmapItem* checkForUniqueItem( SdrModel* pModel ) const;
diff --git a/svx/inc/svx/xenum.hxx b/svx/inc/svx/xenum.hxx
index dddb88da5b18..cbae02ccf486 100644
--- a/svx/inc/svx/xenum.hxx
+++ b/svx/inc/svx/xenum.hxx
@@ -49,9 +49,6 @@ enum XFormTextStdForm { XFTFORM_NONE = 0, XFTFORM_TOPCIRC, XFTFORM_BOTCIRC,
XFTFORM_BOTARC, XFTFORM_LFTARC, XFTFORM_RGTARC,
XFTFORM_BUTTON1, XFTFORM_BUTTON2,
XFTFORM_BUTTON3, XFTFORM_BUTTON4};
-enum XBitmapStyle { XBITMAP_TILE, XBITMAP_STRETCH };
-enum XBitmapType { XBITMAP_IMPORT, XBITMAP_8X8, XBITMAP_NONE,
- XBITMAP_16X16 };
#endif // _XENUM_HXX
diff --git a/svx/inc/svx/xfillit.hxx b/svx/inc/svx/xfillit.hxx
index 373782973f24..6dcb1a7d588a 100644
--- a/svx/inc/svx/xfillit.hxx
+++ b/svx/inc/svx/xfillit.hxx
@@ -37,7 +37,6 @@
#include <svx/xsflclit.hxx>
#include <svx/xflgrit.hxx>
#include <svx/xflhtit.hxx>
-#include <svx/xbitmap.hxx>
#include <svx/xbtmpit.hxx>
#include <svx/xflftrit.hxx>
diff --git a/svx/inc/svx/xtable.hxx b/svx/inc/svx/xtable.hxx
index a23891b8cc29..5a8a7060eed8 100644
--- a/svx/inc/svx/xtable.hxx
+++ b/svx/inc/svx/xtable.hxx
@@ -19,7 +19,6 @@
*
*************************************************************/
-
#ifndef _XTABLE_HXX
#define _XTABLE_HXX
@@ -29,20 +28,14 @@
#include <svx/xdash.hxx>
#include <svx/xhatch.hxx>
#include <svx/xgrad.hxx>
-#include <svx/xbitmap.hxx>
#include <svx/xflasit.hxx>
#include <svx/xlnasit.hxx>
-
-#ifndef _SV_COLOR_HXX
#include <tools/color.hxx>
-#endif
#include <tools/string.hxx>
-
-#ifndef _TABLE_HXX //autogen
#include <tools/table.hxx>
-#endif
#include "svx/svxdllapi.h"
#include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <svtools/grfmgr.hxx>
class Color;
class Bitmap;
@@ -186,16 +179,31 @@ public:
class XBitmapEntry : public XPropertyEntry
{
- XOBitmap aXOBitmap;
+private:
+ GraphicObject maGraphicObject;
public:
- XBitmapEntry( const XOBitmap& rXOBitmap, const String& rName ):
- XPropertyEntry( rName ), aXOBitmap( rXOBitmap ) {}
- XBitmapEntry( const XBitmapEntry& rOther ) :
- XPropertyEntry( rOther ), aXOBitmap( rOther.aXOBitmap ) {}
+ XBitmapEntry(const GraphicObject& rGraphicObject, const String& rName)
+ : XPropertyEntry(rName),
+ maGraphicObject(rGraphicObject)
+ {
+ }
+
+ XBitmapEntry(const XBitmapEntry& rOther)
+ : XPropertyEntry(rOther),
+ maGraphicObject(rOther.maGraphicObject)
+ {
+ }
+
+ const GraphicObject& GetGraphicObject() const
+ {
+ return maGraphicObject;
+ }
- void SetXBitmap(const XOBitmap& rXOBitmap) { aXOBitmap = rXOBitmap; }
- XOBitmap& GetXBitmap() { return aXOBitmap; }
+ void SetGraphicObject(const GraphicObject& rGraphicObject)
+ {
+ maGraphicObject = rGraphicObject;
+ }
};
// ---------------------
diff --git a/svx/source/customshapes/EnhancedCustomShape2d.cxx b/svx/source/customshapes/EnhancedCustomShape2d.cxx
index 2707f0da4721..f56606ccd279 100644
--- a/svx/source/customshapes/EnhancedCustomShape2d.cxx
+++ b/svx/source/customshapes/EnhancedCustomShape2d.cxx
@@ -51,7 +51,6 @@
#include <svx/xflhtit.hxx>
#include <svx/xbtmpit.hxx>
#include <svx/xgrad.hxx>
-#include <svx/xbitmap.hxx>
#include <svx/xhatch.hxx>
#include <com/sun/star/awt/Size.hpp>
#include <com/sun/star/drawing/EnhancedCustomShapeParameterType.hpp>
@@ -1960,15 +1959,17 @@ void EnhancedCustomShape2d::AdaptObjColor(SdrPathObj& rObj, const SfxItemSet& rC
}
case XFILL_BITMAP:
{
- Bitmap aBitmap(((const XFillBitmapItem&)rObj.GetMergedItem(XATTR_FILLBITMAP)).GetBitmapValue().GetBitmap());
if ( nColorCount )
{
+ Bitmap aBitmap(((const XFillBitmapItem&)rObj.GetMergedItem(XATTR_FILLBITMAP)).GetGraphicObject().GetGraphic().GetBitmapEx().GetBitmap());
+
aBitmap.Adjust(
static_cast< short > ( GetLuminanceChange(
std::min(nColorIndex, nColorCount-1))));
+
+ rObj.SetMergedItem(XFillBitmapItem(String(), Graphic(aBitmap)));
}
- rObj.SetMergedItem( XFillBitmapItem( String(), aBitmap ) );
break;
}
}
diff --git a/svx/source/customshapes/EnhancedCustomShape3d.cxx b/svx/source/customshapes/EnhancedCustomShape3d.cxx
index 532ed3f63cee..a108533b5e8a 100644
--- a/svx/source/customshapes/EnhancedCustomShape3d.cxx
+++ b/svx/source/customshapes/EnhancedCustomShape3d.cxx
@@ -426,13 +426,12 @@ SdrObject* EnhancedCustomShape3d::Create3DObject( const SdrObject* pShape2d, con
aPlaceholderObjectList.push_back( p3DObj );
else if ( bUseTwoFillStyles )
{
- Bitmap aFillBmp;
+ BitmapEx aFillBmp;
sal_Bool bFillBmpTile = ((XFillBmpTileItem&)p3DObj->GetMergedItem( XATTR_FILLBMP_TILE )).GetValue();
if ( bFillBmpTile )
{
- const XFillBitmapItem& rBmpItm = (XFillBitmapItem&)p3DObj->GetMergedItem( XATTR_FILLBITMAP );
- const XOBitmap& rXOBmp = rBmpItm.GetBitmapValue();
- aFillBmp = rXOBmp.GetBitmap();
+ const XFillBitmapItem& rBmpItm = (XFillBitmapItem&)p3DObj->GetMergedItem(XATTR_FILLBITMAP);
+ aFillBmp = rBmpItm.GetGraphicObject().GetGraphic().GetBitmapEx();
Size aLogicalSize = aFillBmp.GetPrefSize();
if ( aFillBmp.GetPrefMapMode() == MAP_PIXEL )
aLogicalSize = Application::GetDefaultDevice()->PixelToLogic( aLogicalSize, MAP_100TH_MM );
@@ -442,15 +441,14 @@ SdrObject* EnhancedCustomShape3d::Create3DObject( const SdrObject* pShape2d, con
aLogicalSize.Height() *= 5;
aFillBmp.SetPrefSize( aLogicalSize );
aFillBmp.SetPrefMapMode( MAP_100TH_MM );
- p3DObj->SetMergedItem( XFillBitmapItem( String(), aFillBmp ) );
+ p3DObj->SetMergedItem(XFillBitmapItem(String(), Graphic(aFillBmp)));
}
else
{
if ( aSnapRect != aBoundRect )
{
- const XFillBitmapItem& rBmpItm = (XFillBitmapItem&)p3DObj->GetMergedItem( XATTR_FILLBITMAP );
- const XOBitmap& rXOBmp = rBmpItm.GetBitmapValue();
- aFillBmp = rXOBmp.GetBitmap();
+ const XFillBitmapItem& rBmpItm = (XFillBitmapItem&)p3DObj->GetMergedItem(XATTR_FILLBITMAP);
+ aFillBmp = rBmpItm.GetGraphicObject().GetGraphic().GetBitmapEx();
Size aBmpSize( aFillBmp.GetSizePixel() );
double fXScale = (double)aBoundRect.GetWidth() / (double)aSnapRect.GetWidth();
double fYScale = (double)aBoundRect.GetHeight() / (double)aSnapRect.GetHeight();
@@ -461,7 +459,7 @@ SdrObject* EnhancedCustomShape3d::Create3DObject( const SdrObject* pShape2d, con
(sal_Int32)( aBmpSize.Height() * fYScale ) );
Rectangle aCropRect( aPt, aSize );
aFillBmp.Crop( aCropRect );
- p3DObj->SetMergedItem( XFillBitmapItem( String(), aFillBmp ) );
+ p3DObj->SetMergedItem(XFillBitmapItem(String(), Graphic(aFillBmp)));
}
}
pScene->Insert3DObj( p3DObj );
@@ -483,7 +481,9 @@ SdrObject* EnhancedCustomShape3d::Create3DObject( const SdrObject* pShape2d, con
p3DObj->NbcSetTransform( aFrontTransform );
if ( ( eFillStyle == XFILL_BITMAP ) && !aFillBmp.IsEmpty() )
- p3DObj->SetMergedItem( XFillBitmapItem( String(), aFillBmp ) );
+ {
+ p3DObj->SetMergedItem(XFillBitmapItem(String(), Graphic(aFillBmp)));
+ }
}
else if ( eFillStyle == XFILL_NONE )
{
diff --git a/svx/source/dialog/dlgctrl.cxx b/svx/source/dialog/dlgctrl.cxx
index 5318bbe3f592..efa5f3f85b4b 100644
--- a/svx/source/dialog/dlgctrl.cxx
+++ b/svx/source/dialog/dlgctrl.cxx
@@ -26,15 +26,11 @@
// include ---------------------------------------------------------------
#include <tools/shl.hxx>
-#ifndef _APP_HXX //autogen
#include <vcl/svapp.hxx>
-#endif
-
#include <svx/xtable.hxx>
#include <svx/xpool.hxx>
-
#include <svx/dialogs.hrc>
-#include "accessibility.hrc"
+#include <accessibility.hrc>
#include <svx/dlgctrl.hxx>
#include <svx/dialmgr.hxx>
#include <tools/poly.hxx>
@@ -42,18 +38,18 @@
#include <vcl/gradient.hxx>
#include <vcl/hatch.hxx>
#include <svtools/colorcfg.hxx>
-
-#include "svxrectctaccessiblecontext.hxx"
+#include <svxrectctaccessiblecontext.hxx>
#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <basegfx/point/b2dpoint.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <svx/svdorect.hxx>
-
#include <svx/svdmodel.hxx>
#include <svx/svdopath.hxx>
#include <svx/sdr/contact/objectcontactofobjlistpainter.hxx>
#include <svx/sdr/contact/displayinfo.hxx>
-#include "linectrl.hrc"
+#include <linectrl.hrc>
+#include <vcl/bmpacc.hxx>
+#include <svx/xbtmpit.hxx>
#define OUTPUT_DRAWMODE_COLOR (DRAWMODE_DEFAULT)
#define OUTPUT_DRAWMODE_CONTRAST (DRAWMODE_SETTINGSLINE | DRAWMODE_SETTINGSFILL | DRAWMODE_SETTINGSTEXT | DRAWMODE_SETTINGSGRADIENT)
@@ -1003,17 +999,34 @@ void SvxPixelCtl::Paint( const Rectangle& )
|*
\************************************************************************/
-void SvxPixelCtl::SetXBitmap( const XOBitmap& rXBmp )
+void SvxPixelCtl::SetXBitmap( const BitmapEx& rBitmapEx )
{
- if( rXBmp.GetBitmapType() == XBITMAP_8X8 )
+ BitmapColor aBack;
+ BitmapColor aFront;
+
+ if(isHistorical8x8(rBitmapEx, aBack, aFront))
{
- aPixelColor = rXBmp.GetPixelColor();
- aBackgroundColor = rXBmp.GetBackgroundColor();
+ Bitmap aBitmap(rBitmapEx.GetBitmap());
+ BitmapReadAccess* pRead = aBitmap.AcquireReadAccess();
+
+ aBackgroundColor = aBack;
+ aPixelColor = aFront;
- sal_uInt16* pArray = rXBmp.GetPixelArray();
+ for(sal_uInt16 i(0); i < nSquares; i++)
+ {
+ const BitmapColor aColor(pRead->GetColor(i/8, i%8));
- for( sal_uInt16 i = 0; i < nSquares; i++ )
- *( pPixel + i ) = *( pArray + i );
+ if(aColor == aBack)
+ {
+ *( pPixel + i ) = 0;
+ }
+ else
+ {
+ *( pPixel + i ) = 1;
+ }
+ }
+
+ aBitmap.ReleaseAccess(pRead);
}
}
@@ -1069,11 +1082,11 @@ SvxBitmapCtl::~SvxBitmapCtl()
|*
\************************************************************************/
-XOBitmap SvxBitmapCtl::GetXBitmap()
+BitmapEx SvxBitmapCtl::GetBitmapEx()
{
- XOBitmap aXOBitmap( pBmpArray, aPixelColor, aBackgroundColor );
+ const Bitmap aRetval(createHistorical8x8FromArray(pBmpArray, aPixelColor, aBackgroundColor));
- return( aXOBitmap );
+ return BitmapEx(aRetval);
}
/*************************************************************************
@@ -1468,169 +1481,169 @@ void FillAttrLB::Fill( const XGradientList* pList )
|*
\************************************************************************/
-BitmapLB::BitmapLB( Window* pParent, ResId Id, sal_Bool bUserDraw /*= sal_True*/ )
-: ListBox( pParent, Id ),
- mpList( NULL ),
- mbUserDraw( bUserDraw )
+BitmapLB::BitmapLB(Window* pParent, ResId Id, bool bUserDraw /*= false*/ )
+: ListBox(pParent, Id),
+ maVD(),
+ maBitmapEx(),
+ mpList(NULL),
+ mbUserDraw(bUserDraw)
{
- aVD.SetOutputSizePixel( Size( 32, 16 ) );
- EnableUserDraw( mbUserDraw );
+ maVD.SetOutputSizePixel(Size(32, 16));
+ EnableUserDraw(mbUserDraw);
}
/************************************************************************/
void BitmapLB::SetVirtualDevice()
{
- if( aBitmap.GetSizePixel().Width() > 8 ||
- aBitmap.GetSizePixel().Height() > 8 )
+ if(maBitmapEx.GetSizePixel().Width() > 8 || maBitmapEx.GetSizePixel().Height() > 8)
{
- aVD.DrawBitmap( Point( 0, 0 ), Size( 32, 16 ), aBitmap );
+ maVD.DrawBitmapEx(Point(0, 0), Size(32, 16), maBitmapEx);
}
else
{
- aVD.DrawBitmap( Point( 0, 0 ), aBitmap );
- aVD.DrawBitmap( Point( 8, 0 ), aBitmap );
- aVD.DrawBitmap( Point( 16, 0 ), aBitmap );
- aVD.DrawBitmap( Point( 24, 0 ), aBitmap );
- aVD.DrawBitmap( Point( 0, 8 ), aBitmap );
- aVD.DrawBitmap( Point( 8, 8 ), aBitmap );
- aVD.DrawBitmap( Point( 16, 8 ), aBitmap );
- aVD.DrawBitmap( Point( 24, 8 ), aBitmap );
+ maVD.DrawBitmapEx(Point(0, 0), maBitmapEx);
+ maVD.DrawBitmapEx(Point(8, 0), maBitmapEx);
+ maVD.DrawBitmapEx(Point(16, 0), maBitmapEx);
+ maVD.DrawBitmapEx(Point(24, 0), maBitmapEx);
+ maVD.DrawBitmapEx(Point(0, 8), maBitmapEx);
+ maVD.DrawBitmapEx(Point(8, 8), maBitmapEx);
+ maVD.DrawBitmapEx(Point(16, 8), maBitmapEx);
+ maVD.DrawBitmapEx(Point(24, 8), maBitmapEx);
}
}
/************************************************************************/
-void BitmapLB::Fill( const XBitmapList* pList )
+void BitmapLB::Fill(const XBitmapList* pList)
{
mpList = (XBitmapList*)pList;
XBitmapEntry* pEntry;
- long nCount = pList->Count();
+ const long nCount(pList->Count());
- SetUpdateMode( sal_False );
+ SetUpdateMode(false);
- if( mbUserDraw )
+ if(mbUserDraw)
{
- for( long i = 0; i < nCount; i++ )
- InsertEntry( pList->GetBitmap( i )->GetName() );
+ for(long i(0); i < nCount; i++)
+ {
+ InsertEntry(pList->GetBitmap(i)->GetName());
+ }
}
else
{
- for( long i = 0; i < nCount; i++ )
+ for(long i(0); i < nCount; i++)
{
- pEntry = pList->GetBitmap( i );
- aBitmap = pEntry->GetXBitmap().GetBitmap();
-
+ pEntry = pList->GetBitmap(i);
+ maBitmapEx = pEntry->GetGraphicObject().GetGraphic().GetBitmapEx();
SetVirtualDevice();
-
- InsertEntry( pEntry->GetName(), aVD.GetBitmap( Point( 0, 2 ), Size( 32, 12 ) ) );
+ InsertEntry(pEntry->GetName(), maVD.GetBitmap(Point(0, 2), Size(32, 12)));
}
}
- SetUpdateMode( sal_True );
+ SetUpdateMode(true);
}
-void BitmapLB::UserDraw( const UserDrawEvent& rUDEvt )
+void BitmapLB::UserDraw(const UserDrawEvent& rUDEvt)
{
- if( mpList != NULL )
+ if(mpList)
{
// Draw bitmap
const Rectangle& rDrawRect = rUDEvt.GetRect();
- Rectangle aRect( rDrawRect.nLeft+1, rDrawRect.nTop+1, rDrawRect.nLeft+33, rDrawRect.nBottom-1 );
+ const Rectangle aRect(rDrawRect.nLeft + 1, rDrawRect.nTop + 1, rDrawRect.nLeft + 33, rDrawRect.nBottom - 1);
+ const sal_Int32 nId(rUDEvt.GetItemId());
- sal_Int32 nId = rUDEvt.GetItemId();
- if( nId >= 0 && nId <= mpList->Count() )
+ if(nId >= 0 && nId <= mpList->Count())
{
- Rectangle aClipRect( rDrawRect.nLeft+1, rDrawRect.nTop+1, rDrawRect.nRight-1, rDrawRect.nBottom-1 );
-
+ const Rectangle aClipRect(rDrawRect.nLeft + 1, rDrawRect.nTop + 1, rDrawRect.nRight - 1, rDrawRect.nBottom - 1);
OutputDevice* pDevice = rUDEvt.GetDevice();
- pDevice->SetClipRegion( Region( aClipRect ) );
-
- aBitmap = mpList->GetBitmap( nId )->GetXBitmap().GetBitmap();
-
+ pDevice->SetClipRegion(Region(aClipRect));
+ maBitmapEx = mpList->GetBitmap(nId)->GetGraphicObject().GetGraphic().GetBitmapEx();
long nPosBaseX = aRect.nLeft;
long nPosBaseY = aRect.nTop;
- if( aBitmap.GetSizePixel().Width() > 8 ||
- aBitmap.GetSizePixel().Height() > 8 )
+ if(maBitmapEx.GetSizePixel().Width() > 8 || maBitmapEx.GetSizePixel().Height() > 8)
{
- pDevice->DrawBitmap( Point( nPosBaseX, nPosBaseY ), Size( 32, 16 ), aBitmap );
+ pDevice->DrawBitmapEx(Point(nPosBaseX, nPosBaseY), Size(32, 16), maBitmapEx);
}
else
{
- pDevice->DrawBitmap( Point( nPosBaseX+ 0, nPosBaseY+0 ), aBitmap );
- pDevice->DrawBitmap( Point( nPosBaseX+ 8, nPosBaseY+0 ), aBitmap );
- pDevice->DrawBitmap( Point( nPosBaseX+16, nPosBaseY+0 ), aBitmap );
- pDevice->DrawBitmap( Point( nPosBaseX+24, nPosBaseY+0 ), aBitmap );
- pDevice->DrawBitmap( Point( nPosBaseX+ 0, nPosBaseY+8 ), aBitmap );
- pDevice->DrawBitmap( Point( nPosBaseX+ 8, nPosBaseY+8 ), aBitmap );
- pDevice->DrawBitmap( Point( nPosBaseX+16, nPosBaseY+8 ), aBitmap );
- pDevice->DrawBitmap( Point( nPosBaseX+24, nPosBaseY+8 ), aBitmap );
+ pDevice->DrawBitmapEx(Point(nPosBaseX+ 0, nPosBaseY+0 ), maBitmapEx);
+ pDevice->DrawBitmapEx(Point(nPosBaseX+ 8, nPosBaseY+0 ), maBitmapEx);
+ pDevice->DrawBitmapEx(Point(nPosBaseX+16, nPosBaseY+0 ), maBitmapEx);
+ pDevice->DrawBitmapEx(Point(nPosBaseX+24, nPosBaseY+0 ), maBitmapEx);
+ pDevice->DrawBitmapEx(Point(nPosBaseX+ 0, nPosBaseY+8 ), maBitmapEx);
+ pDevice->DrawBitmapEx(Point(nPosBaseX+ 8, nPosBaseY+8 ), maBitmapEx);
+ pDevice->DrawBitmapEx(Point(nPosBaseX+16, nPosBaseY+8 ), maBitmapEx);
+ pDevice->DrawBitmapEx(Point(nPosBaseX+24, nPosBaseY+8 ), maBitmapEx);
}
pDevice->SetClipRegion();
// Draw name
- pDevice->DrawText( Point( aRect.nRight+7, aRect.nTop-1 ), mpList->GetBitmap( nId )->GetName() );
+ pDevice->DrawText(Point(aRect.nRight + 7, aRect.nTop - 1), mpList->GetBitmap(nId)->GetName());
}
}
}
/************************************************************************/
-void BitmapLB::Append( XBitmapEntry* pEntry, Bitmap* pBmp )
+void BitmapLB::Append(XBitmapEntry* pEntry, BitmapEx* pBmpEx)
{
- if( pBmp )
+ if(pBmpEx)
{
- aBitmap = pEntry->GetXBitmap().GetBitmap();
+ maBitmapEx = pEntry->GetGraphicObject().GetGraphic().GetBitmapEx();
SetVirtualDevice();
- InsertEntry( pEntry->GetName(), aVD.GetBitmap( Point( 0, 2 ), Size( 32, 12 ) ) );
+ InsertEntry(pEntry->GetName(), maVD.GetBitmap(Point(0, 2), Size(32, 12)));
}
else
- InsertEntry( pEntry->GetName() );
+ {
+ InsertEntry(pEntry->GetName());
+ }
}
/************************************************************************/
-void BitmapLB::Modify( XBitmapEntry* pEntry, sal_uInt16 nPos, Bitmap* pBmp )
+void BitmapLB::Modify(XBitmapEntry* pEntry, sal_uInt16 nPos, BitmapEx* pBmpEx)
{
- RemoveEntry( nPos );
+ RemoveEntry(nPos);
- if( pBmp )
+ if(pBmpEx)
{
- aBitmap = pEntry->GetXBitmap().GetBitmap();
+ maBitmapEx = pEntry->GetGraphicObject().GetGraphic().GetBitmapEx();
SetVirtualDevice();
-
- InsertEntry( pEntry->GetName(), aVD.GetBitmap( Point( 0, 2 ), Size( 32, 12 ) ), nPos );
+ InsertEntry(pEntry->GetName(), maVD.GetBitmap(Point(0, 2), Size(32, 12)), nPos);
}
else
- InsertEntry( pEntry->GetName() );
+ {
+ InsertEntry(pEntry->GetName());
+ }
}
/************************************************************************/
-void BitmapLB::SelectEntryByList( const XBitmapList* pList, const String& rStr,
- const Bitmap& )
+void BitmapLB::SelectEntryByList(const XBitmapList* pList, const String& rStr)
{
- long nCount = pList->Count();
+ const long nCount(pList->Count());
XBitmapEntry* pEntry;
- sal_Bool bFound = sal_False;
+ bool bFound(false);
+ long i(0);
- long i;
- for( i = 0; i < nCount && !bFound; i++ )
+ for(i = 0; i < nCount && !bFound; i++)
{
- pEntry = pList->GetBitmap( i );
-
- String aStr = pEntry->GetName();
- // Bitmap aBmp = pEntry->GetBitmap();
+ pEntry = pList->GetBitmap(i);
+ const String aStr(pEntry->GetName());
- if( rStr == aStr )
+ if(rStr == aStr)
{
- bFound = sal_True;
+ bFound = true;
}
}
- if( bFound )
- SelectEntryPos( (sal_uInt16) ( i - 1 ) );
+
+ if(bFound)
+ {
+ SelectEntryPos((sal_uInt16)(i - 1));
+ }
}
/*************************************************************************
@@ -1639,89 +1652,89 @@ void BitmapLB::SelectEntryByList( const XBitmapList* pList, const String& rStr,
|*
\************************************************************************/
-FillAttrLB::FillAttrLB( Window* pParent, ResId Id ) :
- ColorListBox( pParent, Id )
+FillAttrLB::FillAttrLB( Window* pParent, ResId Id )
+: ColorListBox(pParent, Id),
+ maVD(),
+ maBitmapEx()
{
- aVD.SetOutputSizePixel( Size( 32, 16 ) );
+ maVD.SetOutputSizePixel(Size(32, 16));
}
/************************************************************************/
-FillAttrLB::FillAttrLB( Window* pParent, WinBits aWB ) :
- ColorListBox( pParent, aWB )
+FillAttrLB::FillAttrLB(Window* pParent, WinBits aWB)
+: ColorListBox(pParent, aWB)
{
- aVD.SetOutputSizePixel( Size( 32, 16 ) );
+ maVD.SetOutputSizePixel(Size(32, 16));
}
/************************************************************************/
void FillAttrLB::SetVirtualDevice()
{
- if( aBitmap.GetSizePixel().Width() > 8 ||
- aBitmap.GetSizePixel().Height() > 8 )
+ maVD.Erase();
+
+ if(maBitmapEx.GetSizePixel().Width() > 8 || maBitmapEx.GetSizePixel().Height() > 8)
{
- aVD.DrawBitmap( Point( 0, 0 ), Size( 32, 16 ), aBitmap );
+ maVD.DrawBitmapEx(Point(0, 0), Size(32, 16), maBitmapEx);
}
else
{
- aVD.DrawBitmap( Point( 0, 0 ), aBitmap );
- aVD.DrawBitmap( Point( 8, 0 ), aBitmap );
- aVD.DrawBitmap( Point( 16, 0 ), aBitmap );
- aVD.DrawBitmap( Point( 24, 0 ), aBitmap );
- aVD.DrawBitmap( Point( 0, 8 ), aBitmap );
- aVD.DrawBitmap( Point( 8, 8 ), aBitmap );
- aVD.DrawBitmap( Point( 16, 8 ), aBitmap );
- aVD.DrawBitmap( Point( 24, 8 ), aBitmap );
+ maVD.DrawBitmapEx(Point(0, 0), maBitmapEx);
+ maVD.DrawBitmapEx(Point(8, 0), maBitmapEx);
+ maVD.DrawBitmapEx(Point(16, 0), maBitmapEx);
+ maVD.DrawBitmapEx(Point(24, 0), maBitmapEx);
+ maVD.DrawBitmapEx(Point(0, 8), maBitmapEx);
+ maVD.DrawBitmapEx(Point(8, 8), maBitmapEx);
+ maVD.DrawBitmapEx(Point(16, 8), maBitmapEx);
+ maVD.DrawBitmapEx(Point(24, 8), maBitmapEx);
}
}
/************************************************************************/
-void FillAttrLB::Fill( const XBitmapList* pList )
+void FillAttrLB::Fill(const XBitmapList* pList)
{
- long nCount = pList->Count();
+ const long nCount(pList->Count());
XBitmapEntry* pEntry;
- ListBox::SetUpdateMode( sal_False );
- for( long i = 0; i < nCount; i++ )
+ ListBox::SetUpdateMode(false);
+
+ for(long i(0); i < nCount; i++)
{
pEntry = pList->GetBitmap( i );
- aBitmap = pEntry->GetXBitmap().GetBitmap();
-
+ maBitmapEx = pEntry->GetGraphicObject().GetGraphic().GetBitmapEx();
SetVirtualDevice();
-
- ListBox::InsertEntry( pEntry->GetName(), aVD.GetBitmap( Point( 0, 2 ), Size( 32, 12 ) ) );
+ ListBox::InsertEntry(pEntry->GetName(), maVD.GetBitmap(Point(0, 2), Size(32, 12)));
}
- ListBox::SetUpdateMode( sal_True );
+
+ ListBox::SetUpdateMode(true);
}
/************************************************************************/
-void FillAttrLB::SelectEntryByList( const XBitmapList* pList, const String& rStr,
- const Bitmap& /*rBmp*/)
+void FillAttrLB::SelectEntryByList( const XBitmapList* pList, const String& rStr)
{
- long nCount = pList->Count();
+ const long nCount(pList->Count());
XBitmapEntry* pEntry;
- sal_Bool bFound = sal_False;
+ bool bFound(false);
+ long i(0);
- long i;
- for( i = 0; i < nCount && !bFound; i++ )
+ for(i = 0; i < nCount && !bFound; i++)
{
- pEntry = pList->GetBitmap( i );
+ pEntry = pList->GetBitmap(i);
+ const String aStr(pEntry->GetName());
- String aStr = pEntry->GetName();
- // Bitmap aBmp = pEntry->GetBitmap();
-
- if( rStr == aStr )
+ if(rStr == aStr)
{
- bFound = sal_True;
+ bFound = true;
}
- /*
- if( rStr == aStr && rBmp == aBmp )
- bFound = sal_True; */
}
- if( bFound )
- SelectEntryPos( (sal_uInt16) ( i - 1 ) );
+
+ if(bFound)
+ {
+ SelectEntryPos((sal_uInt16)(i - 1));
+ }
}
/*************************************************************************
diff --git a/svx/source/sdr/primitive2d/sdrattributecreator.cxx b/svx/source/sdr/primitive2d/sdrattributecreator.cxx
index 40a42e74849a..7bf1adaf812a 100644
--- a/svx/source/sdr/primitive2d/sdrattributecreator.cxx
+++ b/svx/source/sdr/primitive2d/sdrattributecreator.cxx
@@ -591,42 +591,42 @@ namespace drawinglayer
attribute::SdrFillBitmapAttribute createNewSdrFillBitmapAttribute(const SfxItemSet& rSet)
{
- Bitmap aBitmap((((const XFillBitmapItem&)(rSet.Get(XATTR_FILLBITMAP))).GetBitmapValue()).GetBitmap());
+ BitmapEx aBitmapEx(((const XFillBitmapItem&)(rSet.Get(XATTR_FILLBITMAP))).GetGraphicObject().GetGraphic().GetBitmapEx());
// make sure it's not empty, use default instead
- if(aBitmap.IsEmpty())
+ if(aBitmapEx.IsEmpty())
{
// #i118485# Add PrefMapMode and PrefSize to avoid mini-tiling and
// expensive primitive processing in this case. Use 10x10 cm
- aBitmap = Bitmap(Size(4,4), 8);
- aBitmap.SetPrefMapMode(MapMode(MAP_100TH_MM));
- aBitmap.SetPrefSize(Size(10000.0, 10000.0));
+ aBitmapEx = Bitmap(Size(4,4), 8);
+ aBitmapEx.SetPrefMapMode(MapMode(MAP_100TH_MM));
+ aBitmapEx.SetPrefSize(Size(10000.0, 10000.0));
}
// if there is no logical size, create a size from pixel size and set MapMode accordingly
- if(0L == aBitmap.GetPrefSize().Width() || 0L == aBitmap.GetPrefSize().Height())
+ if(0L == aBitmapEx.GetPrefSize().Width() || 0L == aBitmapEx.GetPrefSize().Height())
{
- aBitmap.SetPrefSize(aBitmap.GetSizePixel());
- aBitmap.SetPrefMapMode(MAP_PIXEL);
+ aBitmapEx.SetPrefSize(aBitmapEx.GetSizePixel());
+ aBitmapEx.SetPrefMapMode(MAP_PIXEL);
}
// convert size and MapMode to destination logical size and MapMode. The created
// bitmap must have a valid logical size (PrefSize)
const MapUnit aDestinationMapUnit((MapUnit)rSet.GetPool()->GetMetric(0));
- if(aBitmap.GetPrefMapMode() != aDestinationMapUnit)
+ if(aBitmapEx.GetPrefMapMode() != aDestinationMapUnit)
{
// #i100360# for MAP_PIXEL, LogicToLogic will not work properly,
// so fallback to Application::GetDefaultDevice()
- if(MAP_PIXEL == aBitmap.GetPrefMapMode().GetMapUnit())
+ if(MAP_PIXEL == aBitmapEx.GetPrefMapMode().GetMapUnit())
{
- aBitmap.SetPrefSize(Application::GetDefaultDevice()->PixelToLogic(
- aBitmap.GetPrefSize(), aDestinationMapUnit));
+ aBitmapEx.SetPrefSize(Application::GetDefaultDevice()->PixelToLogic(
+ aBitmapEx.GetPrefSize(), aDestinationMapUnit));
}
else
{
- aBitmap.SetPrefSize(OutputDevice::LogicToLogic(
- aBitmap.GetPrefSize(), aBitmap.GetPrefMapMode(), aDestinationMapUnit));
+ aBitmapEx.SetPrefSize(OutputDevice::LogicToLogic(
+ aBitmapEx.GetPrefSize(), aBitmapEx.GetPrefMapMode(), aDestinationMapUnit));
}
}
@@ -642,7 +642,7 @@ namespace drawinglayer
(double)((const SfxUInt16Item&) (rSet.Get(XATTR_FILLBMP_POSOFFSETY))).GetValue());
return attribute::SdrFillBitmapAttribute(
- aBitmap,
+ aBitmapEx,
aSize,
aOffset,
aOffsetPosition,
diff --git a/svx/source/svdraw/svdetc.cxx b/svx/source/svdraw/svdetc.cxx
index 76b892aae076..4544e640b762 100644
--- a/svx/source/svdraw/svdetc.cxx
+++ b/svx/source/svdraw/svdetc.cxx
@@ -538,11 +538,10 @@ FASTBOOL GetDraftFillColor(const SfxItemSet& rSet, Color& rCol)
}
case XFILL_BITMAP:
{
- const Bitmap& rBitmap = ((XFillBitmapItem&)rSet.Get(XATTR_FILLBITMAP)).GetBitmapValue().GetBitmap();
- const Size aSize(rBitmap.GetSizePixel());
+ Bitmap aBitmap(((XFillBitmapItem&)rSet.Get(XATTR_FILLBITMAP)).GetGraphicObject().GetGraphic().GetBitmapEx().GetBitmap());
+ const Size aSize(aBitmap.GetSizePixel());
const sal_uInt32 nWidth = aSize.Width();
const sal_uInt32 nHeight = aSize.Height();
- Bitmap aBitmap(rBitmap);
BitmapReadAccess* pAccess = aBitmap.AcquireReadAccess();
if(pAccess && nWidth > 0 && nHeight > 0)
diff --git a/svx/source/svdraw/svdfmtf.cxx b/svx/source/svdraw/svdfmtf.cxx
index f2ca071a9a2f..ea397b9a5d47 100644
--- a/svx/source/svdraw/svdfmtf.cxx
+++ b/svx/source/svdraw/svdfmtf.cxx
@@ -449,7 +449,7 @@ void ImpSdrGDIMetaFileImport::InsertObj(SdrObject* pObj, sal_Bool bScale)
Size(ceil(aPixel.getWidth()), ceil(aPixel.getHeight())));
pObj->SetMergedItem(XFillStyleItem(XFILL_BITMAP));
- pObj->SetMergedItem(XFillBitmapItem(String(), aClippedBitmap.GetBitmap()));
+ pObj->SetMergedItem(XFillBitmapItem(String(), Graphic(aClippedBitmap)));
}
}
}
diff --git a/svx/source/svdraw/svdoashp.cxx b/svx/source/svdraw/svdoashp.cxx
index 8fb7212815a5..00adc62c044b 100644
--- a/svx/source/svdraw/svdoashp.cxx
+++ b/svx/source/svdraw/svdoashp.cxx
@@ -292,15 +292,17 @@ SdrObject* ImpCreateShadowObjectClone(const SdrObject& rOriginal, const SfxItemS
// bitmap and transparence like shadow
if(bBitmapFillUsed)
{
- XOBitmap aFillBitmap(((XFillBitmapItem&)(rOriginalSet.Get(XATTR_FILLBITMAP))).GetBitmapValue());
- Bitmap aSourceBitmap(aFillBitmap.GetBitmap());
- BitmapReadAccess* pReadAccess = aSourceBitmap.AcquireReadAccess();
+ GraphicObject aGraphicObject(((XFillBitmapItem&)(rOriginalSet.Get(XATTR_FILLBITMAP))).GetGraphicObject());
+ const BitmapEx aBitmapEx(aGraphicObject.GetGraphic().GetBitmapEx());
+ Bitmap aBitmap(aBitmapEx.GetBitmap());
- if(!aSourceBitmap.IsEmpty())
+ if(!aBitmap.IsEmpty())
{
+ BitmapReadAccess* pReadAccess = aBitmap.AcquireReadAccess();
+
if(pReadAccess)
{
- Bitmap aDestBitmap(aSourceBitmap.GetSizePixel(), 24L);
+ Bitmap aDestBitmap(aBitmap.GetSizePixel(), 24L);
BitmapWriteAccess* pWriteAccess = aDestBitmap.AcquireWriteAccess();
if(pWriteAccess)
@@ -319,14 +321,29 @@ SdrObject* ImpCreateShadowObjectClone(const SdrObject& rOriginal, const SfxItemS
}
aDestBitmap.ReleaseAccess(pWriteAccess);
- aFillBitmap.SetBitmap(aDestBitmap);
}
- aSourceBitmap.ReleaseAccess(pReadAccess);
+ aBitmap.ReleaseAccess(pReadAccess);
+
+ if(aBitmapEx.IsTransparent())
+ {
+ if(aBitmapEx.IsAlpha())
+ {
+ aGraphicObject.SetGraphic(Graphic(BitmapEx(aDestBitmap, aBitmapEx.GetAlpha())));
+ }
+ else
+ {
+ aGraphicObject.SetGraphic(Graphic(BitmapEx(aDestBitmap, aBitmapEx.GetMask())));
+ }
+ }
+ else
+ {
+ aGraphicObject.SetGraphic(Graphic(aDestBitmap));
+ }
}
}
- aTempSet.Put(XFillBitmapItem(aTempSet.GetPool(), aFillBitmap));
+ aTempSet.Put(XFillBitmapItem(aTempSet.GetPool(), aGraphicObject));
aTempSet.Put(XFillTransparenceItem(nShadowTransparence));
}
diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
index df03d56f06e9..4d14d113ee28 100644
--- a/svx/source/svdraw/svdograf.cxx
+++ b/svx/source/svdraw/svdograf.cxx
@@ -55,7 +55,6 @@
#include "svtools/filter.hxx"
#include <svx/svdograf.hxx>
#include <svx/svdogrp.hxx>
-#include <svx/xbitmap.hxx>
#include <svx/xbtmpit.hxx>
#include <svx/xflbmtit.hxx>
#include <svx/svdundo.hxx>
@@ -1245,10 +1244,9 @@ SdrObject* SdrGrafObj::DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const
SfxItemSet aSet(GetObjectItemSet());
aSet.Put(XFillStyleItem(XFILL_BITMAP));
- Bitmap aBitmap( GetTransformedGraphic().GetBitmap() );
- XOBitmap aXBmp(aBitmap, XBITMAP_STRETCH);
- aSet.Put(XFillBitmapItem(String(), aXBmp));
- aSet.Put(XFillBmpTileItem(sal_False));
+ const BitmapEx aBitmapEx(GetTransformedGraphic().GetBitmapEx());
+ aSet.Put(XFillBitmapItem(String(), Graphic(aBitmapEx)));
+ aSet.Put(XFillBmpTileItem(false));
pRetval->SetMergedItemSet(aSet);
}
diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx
index f022c107375d..ea18d7fa547f 100644
--- a/svx/source/svdraw/svdoole2.cxx
+++ b/svx/source/svdraw/svdoole2.cxx
@@ -1411,7 +1411,7 @@ SdrObject* SdrOle2Obj::createSdrGrafObjReplacement(bool bAddText, bool bUseHCGra
// bitmap fill
pClone->SetMergedItem(XFillStyleItem(XFILL_BITMAP));
- pClone->SetMergedItem(XFillBitmapItem(String(), GetEmtyOLEReplacementBitmap()));
+ pClone->SetMergedItem(XFillBitmapItem(String(), Graphic(GetEmtyOLEReplacementBitmap())));
pClone->SetMergedItem(XFillBmpTileItem(false));
pClone->SetMergedItem(XFillBmpStretchItem(false));
diff --git a/svx/source/tbxctrls/fillctrl.cxx b/svx/source/tbxctrls/fillctrl.cxx
index b2fa909875f8..5a116a01d1b9 100644
--- a/svx/source/tbxctrls/fillctrl.cxx
+++ b/svx/source/tbxctrls/fillctrl.cxx
@@ -422,12 +422,10 @@ void SvxFillToolBoxControl::Update( const SfxPoolItem* pState )
aTmpStr += aString;
aTmpStr += TMP_STR_END;
- XBitmapEntry* pEntry = new XBitmapEntry( pBitmapItem->GetBitmapValue(), aTmpStr );
+ XBitmapEntry* pEntry = new XBitmapEntry(pBitmapItem->GetGraphicObject(), aTmpStr);
XBitmapList aBitmapList( String::CreateFromAscii("TmpList") );
aBitmapList.Insert( pEntry );
aBitmapList.SetDirty( sal_False );
- //Bitmap* pBmp = aBitmapList.GetBitmap( 0 );
- //( (ListBox*)pFillAttrLB )->InsertEntry( pEntry->GetName(), *pBmp );
pFillAttrLB->Fill( &aBitmapList );
pFillAttrLB->SelectEntryPos( pFillAttrLB->GetEntryCount() - 1 );
aBitmapList.Remove( 0 );
@@ -775,14 +773,13 @@ IMPL_LINK( FillControl, SelectFillAttrHdl, ListBox *, pBox )
if ( nPos < aItem.GetBitmapList()->Count() ) // kein temp. Eintrag ?
{
- XOBitmap aXOBitmap = aItem.GetBitmapList()->GetBitmap( nPos )->GetXBitmap();
- XFillBitmapItem aXFillBitmapItem( pLbFillAttr->GetSelectEntry(), aXOBitmap );
+ const XBitmapEntry* pXBitmapEntry = aItem.GetBitmapList()->GetBitmap(nPos);
+ const XFillBitmapItem aXFillBitmapItem(pLbFillAttr->GetSelectEntry(), pXBitmapEntry->GetGraphicObject());
aArgs[0].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FillBitmap" ));
aXFillBitmapItem.QueryValue( a );
aArgs[0].Value = a;
- ((SvxFillToolBoxControl*)GetData())->Dispatch( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FillBitmap" )),
- aArgs );
+ ((SvxFillToolBoxControl*)GetData())->Dispatch(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".uno:FillBitmap")), aArgs);
}
}
}
diff --git a/svx/source/unodraw/XPropertyTable.cxx b/svx/source/unodraw/XPropertyTable.cxx
index 616df4a6ac10..8f4a9e5ad54b 100644
--- a/svx/source/unodraw/XPropertyTable.cxx
+++ b/svx/source/unodraw/XPropertyTable.cxx
@@ -698,7 +698,8 @@ uno::Reference< uno::XInterface > SAL_CALL SvxUnoXBitmapTable_createInstance( XP
uno::Any SvxUnoXBitmapTable::getAny( const XPropertyEntry* pEntry ) const throw()
{
OUString aURL( RTL_CONSTASCII_USTRINGPARAM(UNO_NAME_GRAPHOBJ_URLPREFIX));
- aURL += OUString::createFromAscii( ((XBitmapEntry*)pEntry)->GetXBitmap().GetGraphicObject().GetUniqueID().GetBuffer() );
+ const GraphicObject& rGraphicObject(((XBitmapEntry*)pEntry)->GetGraphicObject());
+ aURL += OUString::createFromAscii(rGraphicObject.GetUniqueID().GetBuffer());
uno::Any aAny;
aAny <<= aURL;
@@ -711,11 +712,10 @@ XPropertyEntry* SvxUnoXBitmapTable::getEntry( const OUString& rName, const uno::
if(!(rAny >>= aURL))
return NULL;
- GraphicObject aGrafObj( GraphicObject::CreateGraphicObjectFromURL( aURL ) );
- XOBitmap aBMP( aGrafObj );
+ const GraphicObject aGrafObj(GraphicObject::CreateGraphicObjectFromURL(aURL));
+ const String aName(rName);
- const String aName( rName );
- return new XBitmapEntry( aBMP, aName );
+ return new XBitmapEntry(aGrafObj, aName);
}
// XElementAccess
diff --git a/svx/source/unodraw/unobtabl.cxx b/svx/source/unodraw/unobtabl.cxx
index e54a79212b49..97c0fb802483 100644
--- a/svx/source/unodraw/unobtabl.cxx
+++ b/svx/source/unodraw/unobtabl.cxx
@@ -75,7 +75,8 @@ bool SvxUnoBitmapTable::isValid( const NameOrIndex* pItem ) const
const XFillBitmapItem* pBitmapItem = dynamic_cast< const XFillBitmapItem* >( pItem );
if( pBitmapItem )
{
- const GraphicObject& rGraphic = pBitmapItem->GetBitmapValue().GetGraphicObject();
+ const Graphic& rGraphic = pBitmapItem->GetGraphicObject().GetGraphic();
+
return rGraphic.GetSizeBytes() > 0;
}
}
diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx
index a048cc357883..03de9c2c628f 100644
--- a/svx/source/unodraw/unoshape.cxx
+++ b/svx/source/unodraw/unoshape.cxx
@@ -1580,7 +1580,7 @@ sal_Bool SAL_CALL SvxShape::SetFillAttribute( sal_Int32 nWID, const ::rtl::OUStr
XFillBitmapItem aBmpItem;
aBmpItem.SetWhich( XATTR_FILLBITMAP );
aBmpItem.SetName( rName );
- aBmpItem.SetBitmapValue( pEntry->GetXBitmap() );
+ aBmpItem.SetGraphicObject(pEntry->GetGraphicObject());
rSet.Put( aBmpItem );
break;
}
@@ -1737,193 +1737,6 @@ sal_Bool SAL_CALL SvxShape::SetFillAttribute( sal_Int32 nWID, const OUString& rN
//----------------------------------------------------------------------
-// static
-/* os: unused function
- uno::Any SAL_CALL SvxShape::GetFillAttributeByName(
- const ::rtl::OUString& rPropertyName, const ::rtl::OUString& rName, SdrModel* pModel )
-{
- uno::Any aResult;
- DBG_ASSERT( pModel, "Invalid Model in GetFillAttributeByName()" );
- if( ! pModel )
- return aResult;
-
- sal_Int16 nWhich = SvxUnoGetWhichIdForNamedProperty( rPropertyName );
-
- // search pool for item
- const SfxItemPool& rPool = pModel->GetItemPool();
-
- const String aSearchName( rName );
- const sal_uInt32 nCount = rPool.GetItemCount((sal_uInt16)nWhich);
- const NameOrIndex* pItem = 0;
- bool bFound = false;
-
- for( sal_uInt32 nSurrogate = 0; ! bFound && nSurrogate < nCount; nSurrogate++ )
- {
- pItem = (NameOrIndex*)rPool.GetItem((sal_uInt16)nWhich, nSurrogate);
- if( pItem && ( pItem->GetName() == aSearchName ) )
- {
- bFound = true;
- }
- }
-
- // check the property lists that are loaded for the model for items that
- // support such.
- String aStrName;
- SvxUnogetInternalNameForItem( nWhich, rName, aStrName );
-
- switch( nWhich )
- {
- case XATTR_FILLBITMAP:
- {
- XFillBitmapItem aBmpItem;
- if( ! bFound )
- {
- XBitmapList* pBitmapList = pModel->GetBitmapList();
-
- if( !pBitmapList )
- break;
-
- long nPos = ((XPropertyList*)pBitmapList)->Get(aStrName);
- if( nPos == -1 )
- break;
-
- XBitmapEntry* pEntry = pBitmapList->GetBitmap( nPos );
- aBmpItem.SetWhich( XATTR_FILLBITMAP );
- aBmpItem.SetName( rName );
- aBmpItem.SetBitmapValue( pEntry->GetXBitmap() );
- pItem = & aBmpItem;
- }
- DBG_ASSERT( pItem, "Invalid Item" );
- if( pItem )
- pItem->QueryValue( aResult ); // default: XBitmap. MID_GRAFURL instead?
- }
- break;
-
- case XATTR_FILLGRADIENT:
- {
- XFillGradientItem aGrdItem;
- if( ! bFound )
- {
- XGradientList* pGradientList = pModel->GetGradientList();
-
- if( !pGradientList )
- break;
-
- long nPos = ((XPropertyList*)pGradientList)->Get(aStrName);
- if( nPos == -1 )
- break;
-
- XGradientEntry* pEntry = pGradientList->GetGradient( nPos );
- aGrdItem.SetWhich( XATTR_FILLGRADIENT );
- aGrdItem.SetName( rName );
- aGrdItem.SetGradientValue( pEntry->GetGradient() );
- pItem = & aGrdItem;
- }
- DBG_ASSERT( pItem, "Invalid Item" );
- if( pItem )
- pItem->QueryValue( aResult, MID_FILLGRADIENT );
- }
- break;
-
- case XATTR_FILLHATCH:
- {
- XFillHatchItem aHatchItem;
- if( ! bFound )
- {
- XHatchList* pHatchList = pModel->GetHatchList();
-
- if( !pHatchList )
- break;
-
- long nPos = ((XPropertyList*)pHatchList)->Get(aStrName);
- if( nPos == -1 )
- break;
-
- XHatchEntry* pEntry = pHatchList->GetHatch( nPos );
- aHatchItem.SetWhich( XATTR_FILLHATCH );
- aHatchItem.SetName( rName );
- aHatchItem.SetHatchValue( pEntry->GetHatch() );
- pItem = & aHatchItem;
- }
- DBG_ASSERT( pItem, "Invalid Item" );
- if( pItem )
- pItem->QueryValue( aResult, MID_FILLHATCH );
- }
- break;
-
- case XATTR_LINEEND:
- case XATTR_LINESTART:
- {
- if( ! bFound )
- {
- XLineEndList* pLineEndList = pModel->GetLineEndList();
-
- if( !pLineEndList )
- break;
-
- long nPos = ((XPropertyList*)pLineEndList)->Get(aStrName);
- if( nPos == -1 )
- break;
-
- XLineEndEntry* pEntry = pLineEndList->GetLineEnd( nPos );
- if( nWhich == XATTR_LINEEND )
- {
- XLineEndItem aLEItem;
- aLEItem.SetWhich( XATTR_LINEEND );
- aLEItem.SetName( rName );
- aLEItem.SetLineEndValue( pEntry->GetLineEnd() );
- aLEItem.QueryValue( aResult );
- }
- else
- {
- XLineStartItem aLSItem;
- aLSItem.SetWhich( XATTR_LINESTART );
- aLSItem.SetName( rName );
- aLSItem.SetLineStartValue( pEntry->GetLineEnd() );
- aLSItem.QueryValue( aResult );
- }
- }
- else
- {
- DBG_ASSERT( pItem, "Invalid Item" );
- if( pItem )
- pItem->QueryValue( aResult );
- }
- }
- break;
-
- case XATTR_LINEDASH:
- {
- XLineDashItem aDashItem;
- if( ! bFound )
- {
- XDashList* pDashList = pModel->GetDashList();
-
- if( !pDashList )
- break;
-
- long nPos = ((XPropertyList*)pDashList)->Get(aStrName);
- if( nPos == -1 )
- break;
-
- XDashEntry* pEntry = pDashList->GetDash( nPos );
- aDashItem.SetWhich( XATTR_LINEDASH );
- aDashItem.SetName( rName );
- aDashItem.SetDashValue( pEntry->GetDash() );
- pItem = & aDashItem;
- }
- DBG_ASSERT( pItem, "Invalid Item" );
- if( pItem )
- pItem->QueryValue( aResult, MID_LINEDASH );
- }
- break;
- }
-
- return aResult;
-} */
-
-//----------------------------------------------------------------------
-
void SAL_CALL SvxShape::setPropertyValue( const OUString& rPropertyName, const uno::Any& rVal )
throw(beans::UnknownPropertyException, beans::PropertyVetoException, lang::IllegalArgumentException, lang::WrappedTargetException, uno::RuntimeException)
{
diff --git a/svx/source/xoutdev/xattr.cxx b/svx/source/xoutdev/xattr.cxx
index a7a9f1ad0894..2c58aad9b34f 100644
--- a/svx/source/xoutdev/xattr.cxx
+++ b/svx/source/xoutdev/xattr.cxx
@@ -291,9 +291,13 @@ String NameOrIndex::CheckNamedItem( const NameOrIndex* pCheckItem, const sal_uIn
switch( nWhich )
{
case XATTR_FILLBITMAP:
- bFound = (((XFillBitmapItem*)pCheckItem)->GetBitmapValue().GetGraphicObject().GetUniqueID() ==
- ((XBitmapEntry*)pEntry)->GetXBitmap().GetGraphicObject().GetUniqueID());
+ {
+ const GraphicObject& rGraphicObjectA(((XFillBitmapItem*)pCheckItem)->GetGraphicObject());
+ const GraphicObject& rGraphicObjectB(((XBitmapEntry*)pEntry)->GetGraphicObject());
+
+ bFound = (rGraphicObjectA == rGraphicObjectB);
break;
+ }
case XATTR_LINEDASH:
bFound = (((XLineDashItem*)pCheckItem)->GetDashValue() == ((XDashEntry*)pEntry) ->GetDash());
break;
diff --git a/svx/source/xoutdev/xattrbmp.cxx b/svx/source/xoutdev/xattrbmp.cxx
index c40542d398f9..52e81ed731a0 100644
--- a/svx/source/xoutdev/xattrbmp.cxx
+++ b/svx/source/xoutdev/xattrbmp.cxx
@@ -19,10 +19,9 @@
*
*************************************************************/
-
-
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
+
#include <com/sun/star/awt/XBitmap.hpp>
#include <com/sun/star/graphic/XGraphic.hpp>
#include <tools/stream.hxx>
@@ -32,671 +31,266 @@
#include <toolkit/unohlp.hxx>
#include <svl/style.hxx>
#include <editeng/memberids.hrc>
-
#include <svx/dialogs.hrc>
#include "svx/xattr.hxx"
#include <svx/xtable.hxx>
#include <svx/xdef.hxx>
#include <svx/unomid.hxx>
#include <editeng/unoprnms.hxx>
-
-#include "svx/unoapi.hxx"
+#include <svx/unoapi.hxx>
#include <svx/svdmodel.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
-
-#define GLOBALOVERFLOW
+#include <vcl/salbtype.hxx>
+#include <vcl/bmpacc.hxx>
using namespace ::com::sun::star;
-// ---------------
-// class XOBitmap
-// ---------------
-
-/*************************************************************************
-|*
-|* XOBitmap::XOBitmap()
-|*
-|* Beschreibung
-|* Ersterstellung 27.07.95
-|* Letzte Aenderung 27.07.95
-|*
-*************************************************************************/
-
-XOBitmap::XOBitmap() :
- eType ( XBITMAP_NONE ),
- eStyle ( XBITMAP_STRETCH ),
- pPixelArray ( NULL ),
- bGraphicDirty ( sal_False )
-{
-}
+// -----------------------
+// class XFillBitmapItem
+// -----------------------
+TYPEINIT1_AUTOFACTORY(XFillBitmapItem, NameOrIndex);
-/*************************************************************************
-|*
-|* XOBitmap::XOBitmap( Bitmap aBitmap, XBitmapStyle eStyle = XBITMAP_TILE )
-|*
-|* Beschreibung
-|* Ersterstellung 26.07.95
-|* Letzte Aenderung 26.07.95
-|*
-*************************************************************************/
-
-XOBitmap::XOBitmap( const Bitmap& rBmp, XBitmapStyle eInStyle ) :
- eType ( XBITMAP_IMPORT ),
- eStyle ( eInStyle ),
- aGraphicObject ( rBmp ),
- pPixelArray ( NULL ),
- bGraphicDirty ( sal_False )
-{
-}
+//////////////////////////////////////////////////////////////////////////////
-/*************************************************************************
-|*
-|* XOBitmap::XOBitmap( Bitmap aBitmap, XBitmapStyle eStyle = XBITMAP_TILE )
-|*
-|* Beschreibung
-|* Ersterstellung 26.07.95
-|* Letzte Aenderung 26.07.95
-|*
-*************************************************************************/
-
-XOBitmap::XOBitmap( const GraphicObject& rGraphicObject, XBitmapStyle eInStyle ) :
- eType ( XBITMAP_IMPORT ),
- eStyle ( eInStyle ),
- aGraphicObject ( rGraphicObject ),
- pPixelArray ( NULL ),
- bGraphicDirty ( sal_False )
+XFillBitmapItem::XFillBitmapItem(long nIndex, const GraphicObject& rGraphicObject)
+: NameOrIndex(XATTR_FILLBITMAP, nIndex),
+ maGraphicObject(rGraphicObject)
{
}
-/*************************************************************************
-|*
-|* XOBitmap::XOBitmap( sal_uInt16* pArray, const Color& aPixelColor,
-|* const Color& aBckgrColor, const Size& rSize = Size( 8, 8 ),
-|* XBitmapStyle eStyle = XBITMAP_TILE )
-|*
-|* Beschreibung
-|* Ersterstellung 26.07.95
-|* Letzte Aenderung 26.07.95
-|*
-*************************************************************************/
-
-XOBitmap::XOBitmap( const sal_uInt16* pArray, const Color& rPixelColor,
- const Color& rBckgrColor, const Size& rSize,
- XBitmapStyle eInStyle ) :
- eStyle ( eInStyle ),
- pPixelArray ( NULL ),
- aArraySize ( rSize ),
- aPixelColor ( rPixelColor ),
- aBckgrColor ( rBckgrColor ),
- bGraphicDirty ( sal_True )
+//////////////////////////////////////////////////////////////////////////////
+XFillBitmapItem::XFillBitmapItem(const XubString& rName, const GraphicObject& rGraphicObject)
+: NameOrIndex(XATTR_FILLBITMAP, rName),
+ maGraphicObject(rGraphicObject)
{
- if( aArraySize.Width() == 8 && aArraySize.Height() == 8 )
- {
- eType = XBITMAP_8X8;
- pPixelArray = new sal_uInt16[ 64 ];
-
- for( sal_uInt16 i = 0; i < 64; i++ )
- *( pPixelArray + i ) = *( pArray + i );
- }
- else
- {
- DBG_ASSERT( 0, "Nicht unterstuetzte Bitmapgroesse" );
- }
}
-/*************************************************************************
-|*
-|* XOBitmap::XOBitmap( const XOBitmap& rXBmp )
-|*
-|* Beschreibung
-|* Ersterstellung 27.07.95
-|* Letzte Aenderung 27.07.95
-|*
-*************************************************************************/
-
-XOBitmap::XOBitmap( const XOBitmap& rXBmp ) :
- pPixelArray ( NULL )
-{
- eType = rXBmp.eType;
- eStyle = rXBmp.eStyle;
- aGraphicObject = rXBmp.aGraphicObject;
- aArraySize = rXBmp.aArraySize;
- aPixelColor = rXBmp.aPixelColor;
- aBckgrColor = rXBmp.aBckgrColor;
- bGraphicDirty = rXBmp.bGraphicDirty;
-
- if( rXBmp.pPixelArray )
- {
- if( eType == XBITMAP_8X8 )
- {
- pPixelArray = new sal_uInt16[ 64 ];
+//////////////////////////////////////////////////////////////////////////////
- for( sal_uInt16 i = 0; i < 64; i++ )
- *( pPixelArray + i ) = *( rXBmp.pPixelArray + i );
- }
- }
-}
-
-/*************************************************************************
-|*
-|* XOBitmap::XOBitmap( Bitmap aBitmap, XBitmapStyle eStyle = XBITMAP_TILE )
-|*
-|* Beschreibung
-|* Ersterstellung 26.07.95
-|* Letzte Aenderung 26.07.95
-|*
-*************************************************************************/
-
-XOBitmap::~XOBitmap()
+XFillBitmapItem::XFillBitmapItem(const XFillBitmapItem& rItem)
+: NameOrIndex(rItem),
+ maGraphicObject(rItem.maGraphicObject)
{
- if( pPixelArray )
- delete []pPixelArray;
}
-/*************************************************************************
-|*
-|* XOBitmap& XOBitmap::operator=( const XOBitmap& rXBmp )
-|*
-|* Beschreibung
-|* Ersterstellung 27.07.95
-|* Letzte Aenderung 27.07.95
-|*
-*************************************************************************/
-
-XOBitmap& XOBitmap::operator=( const XOBitmap& rXBmp )
+//////////////////////////////////////////////////////////////////////////////
+
+Bitmap createHistorical8x8FromArray(const sal_uInt16* pArray, Color aColorPix, Color aColorBack)
{
- eType = rXBmp.eType;
- eStyle = rXBmp.eStyle;
- aGraphicObject = rXBmp.aGraphicObject;
- aArraySize = rXBmp.aArraySize;
- aPixelColor = rXBmp.aPixelColor;
- aBckgrColor = rXBmp.aBckgrColor;
- bGraphicDirty = rXBmp.bGraphicDirty;
-
- if( rXBmp.pPixelArray )
- {
- if( eType == XBITMAP_8X8 )
- {
- pPixelArray = new sal_uInt16[ 64 ];
+ BitmapPalette aPalette(2);
- for( sal_uInt16 i = 0; i < 64; i++ )
- *( pPixelArray + i ) = *( rXBmp.pPixelArray + i );
- }
- }
- return( *this );
-}
+ aPalette[0] = BitmapColor(aColorBack);
+ aPalette[1] = BitmapColor(aColorPix);
-/*************************************************************************
-|*
-|* int XOBitmap::operator==( const XOBitmap& rXOBitmap ) const
-|*
-|* Beschreibung
-|* Ersterstellung 26.07.95
-|* Letzte Aenderung 26.07.95
-|*
-*************************************************************************/
-
-int XOBitmap::operator==( const XOBitmap& rXOBitmap ) const
-{
- if( eType != rXOBitmap.eType ||
- eStyle != rXOBitmap.eStyle ||
- aGraphicObject != rXOBitmap.aGraphicObject ||
- aArraySize != rXOBitmap.aArraySize ||
- aPixelColor != rXOBitmap.aPixelColor ||
- aBckgrColor != rXOBitmap.aBckgrColor ||
- bGraphicDirty != rXOBitmap.bGraphicDirty )
- {
- return( sal_False );
- }
+ Bitmap aBitmap(Size(8, 8), 1, &aPalette);
+ BitmapWriteAccess* pContent = aBitmap.AcquireWriteAccess();
- if( pPixelArray && rXOBitmap.pPixelArray )
+ if(pContent)
{
- sal_uInt16 nCount = (sal_uInt16) ( aArraySize.Width() * aArraySize.Height() );
- for( sal_uInt16 i = 0; i < nCount; i++ )
+ for(sal_uInt16 a(0); a < 8; a++)
{
- if( *( pPixelArray + i ) != *( rXOBitmap.pPixelArray + i ) )
- return( sal_False );
+ for(sal_uInt16 b(0); b < 8; b++)
+ {
+ if(pArray[(a * 8) + b])
+ {
+ pContent->SetPixel(b, a, sal_uInt8(1));
+ }
+ else
+ {
+ pContent->SetPixel(b, a, sal_uInt8(0));
+ }
+ }
}
- }
- return( sal_True );
-}
-
-/*************************************************************************
-|*
-|* void SetPixelArray( const sal_uInt16* pArray )
-|*
-|* Beschreibung
-|* Ersterstellung 27.07.95
-|* Letzte Aenderung 27.07.95
-|*
-*************************************************************************/
-
-void XOBitmap::SetPixelArray( const sal_uInt16* pArray )
-{
- if( eType == XBITMAP_8X8 )
- {
- if( pPixelArray )
- delete []pPixelArray;
-
- pPixelArray = new sal_uInt16[ 64 ];
- for( sal_uInt16 i = 0; i < 64; i++ )
- *( pPixelArray + i ) = *( pArray + i );
-
- bGraphicDirty = sal_True;
+ aBitmap.ReleaseAccess(pContent);
}
- else
- {
- DBG_ASSERT( 0, "Nicht unterstuetzter Bitmaptyp" );
- }
-}
-/*************************************************************************
-|*
-|* Bitmap XOBitmap::GetBitmap()
-|*
-|* Beschreibung
-|* Ersterstellung 26.07.95
-|* Letzte Aenderung 26.07.95
-|*
-*************************************************************************/
-
-Bitmap XOBitmap::GetBitmap() const
-{
- return GetGraphicObject().GetGraphic().GetBitmap();
+ return aBitmap;
}
-/*************************************************************************
-|*
-|* Bitmap XOBitmap::GetGraphicObject()
-|*
-|* Beschreibung
-|* Ersterstellung
-|* Letzte Aenderung
-|*
-*************************************************************************/
-
-const GraphicObject& XOBitmap::GetGraphicObject() const
-{
- if( bGraphicDirty )
- ( (XOBitmap*) this )->Array2Bitmap();
-
- return aGraphicObject;
-}
+//////////////////////////////////////////////////////////////////////////////
-/*************************************************************************
-|*
-|* void XOBitmap::Bitmap2Array()
-|*
-|* Beschreibung Umwandlung der Bitmap in Array, Hinter- u.
-|* Vordergrundfarbe
-|* Ersterstellung 27.07.95
-|* Letzte Aenderung 27.07.95
-|*
-*************************************************************************/
-
-void XOBitmap::Bitmap2Array()
+bool SVX_DLLPUBLIC isHistorical8x8(const BitmapEx& rBitmapEx, BitmapColor& o_rBack, BitmapColor& o_rFront)
{
- VirtualDevice aVD;
- sal_Bool bPixelColor = sal_False;
- const Bitmap aBitmap( GetBitmap() );
- const sal_uInt16 nLines = 8; // von Type abhaengig
-
- if( !pPixelArray )
- pPixelArray = new sal_uInt16[ nLines * nLines ];
-
- aVD.SetOutputSizePixel( aBitmap.GetSizePixel() );
- aVD.DrawBitmap( Point(), aBitmap );
- aPixelColor = aBckgrColor = aVD.GetPixel( Point() );
-
- // Aufbau des Arrays und Ermittlung der Vorder-, bzw.
- // Hintergrundfarbe
- for( sal_uInt16 i = 0; i < nLines; i++ )
+ if(!rBitmapEx.IsTransparent())
{
- for( sal_uInt16 j = 0; j < nLines; j++ )
+ Bitmap aBitmap(rBitmapEx.GetBitmap());
+
+ if(8 == aBitmap.GetSizePixel().Width() && 8 == aBitmap.GetSizePixel().Height())
{
- if ( aVD.GetPixel( Point( j, i ) ) == aBckgrColor )
- *( pPixelArray + j + i * nLines ) = 0;
- else
+ if(2 == aBitmap.GetColorCount())
{
- *( pPixelArray + j + i * nLines ) = 1;
- if( !bPixelColor )
- {
- aPixelColor = aVD.GetPixel( Point( j, i ) );
- bPixelColor = sal_True;
- }
- }
- }
- }
-}
-
-/*************************************************************************
-|*
-|* void XOBitmap::Array2Bitmap()
-|*
-|* Beschreibung Umwandlung des Arrays, Hinter- u.
-|* Vordergrundfarbe in eine Bitmap
-|* Ersterstellung 27.07.95
-|* Letzte Aenderung 27.07.95
-|*
-*************************************************************************/
-
-void XOBitmap::Array2Bitmap()
-{
- VirtualDevice aVD;
- sal_uInt16 nLines = 8; // von Type abhaengig
+ BitmapReadAccess* pRead = aBitmap.AcquireReadAccess();
- if( !pPixelArray )
- return;
+ if(pRead)
+ {
+ if(pRead->HasPalette() && 2 == pRead->GetPaletteEntryCount())
+ {
+ const BitmapPalette& rPalette = pRead->GetPalette();
- aVD.SetOutputSizePixel( Size( nLines, nLines ) );
+ o_rBack = rPalette[1];
+ o_rFront = rPalette[0];
- // Aufbau der Bitmap
- for( sal_uInt16 i = 0; i < nLines; i++ )
- {
- for( sal_uInt16 j = 0; j < nLines; j++ )
- {
- if( *( pPixelArray + j + i * nLines ) == 0 )
- aVD.DrawPixel( Point( j, i ), aBckgrColor );
- else
- aVD.DrawPixel( Point( j, i ), aPixelColor );
+ return true;
+ }
+ }
+ }
}
}
- aGraphicObject = GraphicObject( aVD.GetBitmap( Point(), Size( nLines, nLines ) ) );
- bGraphicDirty = sal_False;
+ return false;
}
-// -----------------------
-// class XFillBitmapItem
-// -----------------------
-TYPEINIT1_AUTOFACTORY(XFillBitmapItem, NameOrIndex);
-
-/*************************************************************************
-|*
-|* XFillBitmapItem::XFillBitmapItem(long nIndex,
-|* const Bitmap& rTheBitmap)
-|*
-|* Beschreibung
-|* Ersterstellung 17.11.94
-|* Letzte Aenderung 17.11.94
-|*
-*************************************************************************/
-
-XFillBitmapItem::XFillBitmapItem(long nIndex,
- const XOBitmap& rTheBitmap) :
- NameOrIndex( XATTR_FILLBITMAP, nIndex ),
- aXOBitmap( rTheBitmap )
-{
-}
+//////////////////////////////////////////////////////////////////////////////
-/*************************************************************************
-|*
-|* XFillBitmapItem::XFillBitmapItem(const XubString& rName,
-|* const Bitmap& rTheBitmap)
-|*
-|* Beschreibung
-|* Ersterstellung 17.11.94
-|* Letzte Aenderung 17.11.94
-|*
-*************************************************************************/
-
-XFillBitmapItem::XFillBitmapItem(const XubString& rName,
- const XOBitmap& rTheBitmap) :
- NameOrIndex( XATTR_FILLBITMAP, rName ),
- aXOBitmap( rTheBitmap )
+XFillBitmapItem::XFillBitmapItem(SvStream& rIn, sal_uInt16 nVer)
+: NameOrIndex(XATTR_FILLBITMAP, rIn)
{
-}
-
-/*************************************************************************
-|*
-|* XFillBitmapItem::XFillBitmapItem(const XFillBitmapItem& rItem)
-|*
-|* Beschreibung
-|* Ersterstellung 17.11.94
-|* Letzte Aenderung 17.11.94
-|*
-*************************************************************************/
-
-XFillBitmapItem::XFillBitmapItem(const XFillBitmapItem& rItem) :
- NameOrIndex( rItem ),
- aXOBitmap( rItem.aXOBitmap )
-{
-}
-
-/*************************************************************************
-|*
-|* XFillBitmapItem::XFillBitmapItem(SvStream& rIn)
-|*
-|* Beschreibung
-|* Ersterstellung 17.11.94
-|* Letzte Aenderung 26.07.94
-|*
-*************************************************************************/
-
-XFillBitmapItem::XFillBitmapItem( SvStream& rIn, sal_uInt16 nVer ) :
- NameOrIndex( XATTR_FILLBITMAP, rIn )
-{
- if( nVer == 0 )
+ if (!IsIndex())
{
- if (!IsIndex())
+ if(0 == nVer)
{
// Behandlung der alten Bitmaps
Bitmap aBmp;
rIn >> aBmp;
-
- aXOBitmap.SetBitmap( aBmp );
- aXOBitmap.SetBitmapStyle( XBITMAP_TILE );
-
- if( aBmp.GetSizePixel().Width() == 8 &&
- aBmp.GetSizePixel().Height() == 8 )
- {
- aXOBitmap.SetBitmapType( XBITMAP_8X8 );
- aXOBitmap.Bitmap2Array();
- }
- else
- aXOBitmap.SetBitmapType( XBITMAP_IMPORT );
+ maGraphicObject = Graphic(aBmp);
}
- }
- else if( nVer == 1 )
- {
- if (!IsIndex())
+ else if(1 == nVer)
{
+ enum XBitmapType
+ {
+ XBITMAP_IMPORT,
+ XBITMAP_8X8
+ };
+
sal_Int16 iTmp;
- rIn >> iTmp;
- aXOBitmap.SetBitmapStyle( (XBitmapStyle) iTmp );
- rIn >> iTmp;
- aXOBitmap.SetBitmapType( (XBitmapType) iTmp );
- if( aXOBitmap.GetBitmapType() == XBITMAP_IMPORT )
+ rIn >> iTmp; // former XBitmapStyle
+ rIn >> iTmp; // former XBitmapType
+
+ if(XBITMAP_IMPORT == iTmp)
{
Bitmap aBmp;
+
rIn >> aBmp;
- aXOBitmap.SetBitmap( aBmp );
+ maGraphicObject = Graphic(aBmp);
}
- else if( aXOBitmap.GetBitmapType() == XBITMAP_8X8 )
+ else if(XBITMAP_8X8 == iTmp)
{
- sal_uInt16* pArray = new sal_uInt16[ 64 ];
- Color aColor;
+ sal_uInt16 aArray[64];
+
+ for(sal_uInt16 i(0); i < 64; i++)
+ {
+ rIn >> aArray[i];
+ }
+
+ Color aColorPix;
+ Color aColorBack;
- for( sal_uInt16 i = 0; i < 64; i++ )
- rIn >> *( pArray + i );
- aXOBitmap.SetPixelArray( pArray );
+ rIn >> aColorPix;
+ rIn >> aColorBack;
- rIn >> aColor;
- aXOBitmap.SetPixelColor( aColor );
- rIn >> aColor;
- aXOBitmap.SetBackgroundColor( aColor );
+ const Bitmap aBitmap(createHistorical8x8FromArray(aArray, aColorPix, aColorBack));
- delete []pArray;
+ maGraphicObject = Graphic(aBitmap);
}
}
- }
+ else if(2 == nVer)
+ {
+ BitmapEx aBmpEx;
- // #81908# force bitmap to exist
- aXOBitmap.GetBitmap();
+ rIn >> aBmpEx;
+ maGraphicObject = Graphic(aBmpEx);
+ }
+ }
}
-//*************************************************************************
+//////////////////////////////////////////////////////////////////////////////
-XFillBitmapItem::XFillBitmapItem( SfxItemPool* /*pPool*/, const XOBitmap& rTheBitmap )
-: NameOrIndex( XATTR_FILLBITMAP, -1 ),
- aXOBitmap( rTheBitmap )
+XFillBitmapItem::XFillBitmapItem(SfxItemPool* /*pPool*/, const GraphicObject& rGraphicObject)
+: NameOrIndex( XATTR_FILLBITMAP, -1),
+ maGraphicObject(rGraphicObject)
{
}
-//*************************************************************************
+//////////////////////////////////////////////////////////////////////////////
-XFillBitmapItem::XFillBitmapItem( SfxItemPool* /*pPool*/)
-: NameOrIndex(XATTR_FILLBITMAP, -1 )
+XFillBitmapItem::XFillBitmapItem(SfxItemPool* /*pPool*/)
+: NameOrIndex(XATTR_FILLBITMAP, -1),
+ maGraphicObject()
{
}
-/*************************************************************************
-|*
-|* XFillBitmapItem::Clone(SfxItemPool* pPool) const
-|*
-|* Beschreibung
-|* Ersterstellung 17.11.94
-|* Letzte Aenderung 17.11.94
-|*
-*************************************************************************/
+//////////////////////////////////////////////////////////////////////////////
SfxPoolItem* XFillBitmapItem::Clone(SfxItemPool* /*pPool*/) const
{
return new XFillBitmapItem(*this);
}
-/*************************************************************************
-|*
-|* int XFillBitmapItem::operator==(const SfxPoolItem& rItem) const
-|*
-|* Beschreibung
-|* Ersterstellung 17.11.94
-|* Letzte Aenderung 26.07.95
-|*
-*************************************************************************/
+//////////////////////////////////////////////////////////////////////////////
int XFillBitmapItem::operator==(const SfxPoolItem& rItem) const
{
- return ( NameOrIndex::operator==(rItem) &&
- aXOBitmap == ((const XFillBitmapItem&) rItem).aXOBitmap );
+ return (NameOrIndex::operator==(rItem)
+ && maGraphicObject == ((const XFillBitmapItem&)rItem).maGraphicObject);
}
-/*************************************************************************
-|*
-|* SfxPoolItem* XFillBitmapItem::Create(SvStream& rIn, sal_uInt16 nVer) const
-|*
-|* Beschreibung
-|* Ersterstellung 17.11.94
-|* Letzte Aenderung 17.11.94
-|*
-*************************************************************************/
+//////////////////////////////////////////////////////////////////////////////
SfxPoolItem* XFillBitmapItem::Create(SvStream& rIn, sal_uInt16 nVer) const
{
return new XFillBitmapItem( rIn, nVer );
}
-/*************************************************************************
-|*
-|* SfxPoolItem* XFillBitmapItem::Store(SvStream& rOut) const
-|*
-|* Beschreibung
-|* Ersterstellung 17.11.94
-|* Letzte Aenderung 26.07.94
-|*
-*************************************************************************/
+//////////////////////////////////////////////////////////////////////////////
SvStream& XFillBitmapItem::Store( SvStream& rOut, sal_uInt16 nItemVersion ) const
{
- NameOrIndex::Store( rOut, nItemVersion );
+ NameOrIndex::Store(rOut, nItemVersion);
- if (!IsIndex())
+ if(!IsIndex())
{
- rOut << (sal_Int16) aXOBitmap.GetBitmapStyle();
- if( !aXOBitmap.GetBitmap() )
- rOut << (sal_Int16) XBITMAP_NONE;
- else
- {
- rOut << (sal_Int16) aXOBitmap.GetBitmapType();
- if( aXOBitmap.GetBitmapType() == XBITMAP_IMPORT )
- {
- const sal_uInt16 nOldComprMode = rOut.GetCompressMode();
- sal_uInt16 nNewComprMode = nOldComprMode;
-
- if( rOut.GetVersion() >= SOFFICE_FILEFORMAT_50 )
- nNewComprMode |= COMPRESSMODE_ZBITMAP;
- else
- nNewComprMode &= ~COMPRESSMODE_ZBITMAP;
-
- rOut.SetCompressMode( nNewComprMode );
- rOut << aXOBitmap.GetBitmap();
- rOut.SetCompressMode( nOldComprMode );
- }
- else if( aXOBitmap.GetBitmapType() == XBITMAP_8X8 )
- {
- sal_uInt16* pArray = aXOBitmap.GetPixelArray();
- for( sal_uInt16 i = 0; i < 64; i++ )
- rOut << (sal_uInt16) *( pArray + i );
-
- rOut << aXOBitmap.GetPixelColor();
- rOut << aXOBitmap.GetBackgroundColor();
- }
- }
+ rOut << maGraphicObject.GetGraphic().GetBitmapEx();
}
return rOut;
}
-/*************************************************************************
-|*
-|* const Bitmap& XFillBitmapItem::GetValue(const XBitmapTable* pTable) const
-|*
-|* Beschreibung
-|* Ersterstellung 15.11.94
-|* Letzte Aenderung 26.07.94
-|*
-*************************************************************************/
-
-const XOBitmap& XFillBitmapItem::GetBitmapValue(const XBitmapTable* pTable) const // GetValue -> GetBitmapValue
+//////////////////////////////////////////////////////////////////////////////
+
+const GraphicObject& XFillBitmapItem::GetGraphicObject() const
{
- if (!IsIndex())
- return aXOBitmap;
- else
- return pTable->GetBitmap(GetIndex())->GetXBitmap();
+ return maGraphicObject;
}
+//////////////////////////////////////////////////////////////////////////////
-/*************************************************************************
-|*
-|* sal_uInt16 XFillBitmapItem::GetVersion() const
-|*
-|* Beschreibung
-|* Ersterstellung 26.07.95
-|* Letzte Aenderung 26.07.95
-|*
-*************************************************************************/
+void XFillBitmapItem::SetGraphicObject(const GraphicObject& rGraphicObject)
+{
+ maGraphicObject = rGraphicObject;
+}
-sal_uInt16 XFillBitmapItem::GetVersion( sal_uInt16 /*nFileFormatVersion*/) const
+//////////////////////////////////////////////////////////////////////////////
+
+sal_uInt16 XFillBitmapItem::GetVersion(sal_uInt16 /*nFileFormatVersion*/) const
{
- // 2. Version
- return( 1 );
+ // version three
+ return(2);
}
-//------------------------------------------------------------------------
+//////////////////////////////////////////////////////////////////////////////
-SfxItemPresentation XFillBitmapItem::GetPresentation
-(
+SfxItemPresentation XFillBitmapItem::GetPresentation(
SfxItemPresentation ePres,
- SfxMapUnit /*eCoreUnit*/,
- SfxMapUnit /*ePresUnit*/,
- XubString& rText, const IntlWrapper *
-) const
+ SfxMapUnit /*eCoreUnit*/,
+ SfxMapUnit /*ePresUnit*/,
+ XubString& rText,
+ const IntlWrapper*) const
{
- switch ( ePres )
+ switch (ePres)
{
case SFX_ITEM_PRESENTATION_NONE:
rText.Erase();
@@ -710,11 +304,10 @@ SfxItemPresentation XFillBitmapItem::GetPresentation
}
}
-//------------------------------------------------------------------------
+//////////////////////////////////////////////////////////////////////////////
-sal_Bool XFillBitmapItem::QueryValue( ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
+sal_Bool XFillBitmapItem::QueryValue(::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId) const
{
-// sal_Bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
nMemberId &= ~CONVERT_TWIPS;
// needed for MID_NAME
@@ -737,18 +330,13 @@ sal_Bool XFillBitmapItem::QueryValue( ::com::sun::star::uno::Any& rVal, sal_uInt
if( nMemberId == MID_GRAFURL ||
nMemberId == 0 )
{
- XOBitmap aLocalXOBitmap( GetBitmapValue() );
aURL = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(UNO_NAME_GRAPHOBJ_URLPREFIX));
- aURL += ::rtl::OUString::createFromAscii( aLocalXOBitmap.GetGraphicObject().GetUniqueID().GetBuffer() );
+ aURL += ::rtl::OUString::createFromAscii(GetGraphicObject().GetUniqueID().GetBuffer() );
}
if( nMemberId == MID_BITMAP ||
nMemberId == 0 )
{
- XOBitmap aLocalXOBitmap( GetBitmapValue() );
- Bitmap aBmp( aLocalXOBitmap.GetBitmap() );
- BitmapEx aBmpEx( aBmp );
-
- xBmp.set( VCLUnoHelper::CreateBitmap( aBmpEx ) );
+ xBmp.set(VCLUnoHelper::CreateBitmap(GetGraphicObject().GetGraphic().GetBitmapEx()));
}
if( nMemberId == MID_NAME )
@@ -776,11 +364,10 @@ sal_Bool XFillBitmapItem::QueryValue( ::com::sun::star::uno::Any& rVal, sal_uInt
return sal_True;
}
-//------------------------------------------------------------------------
+//////////////////////////////////////////////////////////////////////////////
sal_Bool XFillBitmapItem::PutValue( const ::com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId )
{
-// sal_Bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
nMemberId &= ~CONVERT_TWIPS;
::rtl::OUString aName;
@@ -826,47 +413,35 @@ sal_Bool XFillBitmapItem::PutValue( const ::com::sun::star::uno::Any& rVal, sal_
}
if( bSetURL )
{
- GraphicObject aGrafObj( GraphicObject::CreateGraphicObjectFromURL( aURL ) );
- XOBitmap aBMP( aGrafObj );
- SetBitmapValue( aBMP );
+ maGraphicObject = GraphicObject::CreateGraphicObjectFromURL(aURL);
}
if( bSetBitmap )
{
- Bitmap aInput;
- if ( xBmp.is() )
+ if(xBmp.is())
{
- BitmapEx aInputEx( VCLUnoHelper::GetBitmap( xBmp ) );
- aInput = aInputEx.GetBitmap();
+ maGraphicObject = Graphic(VCLUnoHelper::GetBitmap(xBmp));
}
- else if ( xGraphic.is() )
+ else if(xGraphic.is())
{
- Graphic aGraphic( xGraphic );
- aInput = aGraphic.GetBitmap();
- }
-
- // note: aXOBitmap is the member bitmap
- aXOBitmap.SetBitmap( aInput );
- aXOBitmap.SetBitmapType(XBITMAP_IMPORT);
-
- if(aInput.GetSizePixel().Width() == 8
- && aInput.GetSizePixel().Height() == 8
- && aInput.GetColorCount() == 2)
- {
- aXOBitmap.Bitmap2Array();
- aXOBitmap.SetBitmapType(XBITMAP_8X8);
- aXOBitmap.SetPixelSize(aInput.GetSizePixel());
+ maGraphicObject = Graphic(xGraphic);
}
}
return (bSetName || bSetURL || bSetBitmap);
}
+//////////////////////////////////////////////////////////////////////////////
+
sal_Bool XFillBitmapItem::CompareValueFunc( const NameOrIndex* p1, const NameOrIndex* p2 )
{
- return ((XFillBitmapItem*)p1)->GetBitmapValue().GetGraphicObject().GetUniqueID() ==
- ((XFillBitmapItem*)p2)->GetBitmapValue().GetGraphicObject().GetUniqueID();
+ const GraphicObject& aGraphicObjectA(((XFillBitmapItem*)p1)->GetGraphicObject());
+ const GraphicObject& aGraphicObjectB(((XFillBitmapItem*)p2)->GetGraphicObject());
+
+ return aGraphicObjectA == aGraphicObjectB;
}
+//////////////////////////////////////////////////////////////////////////////
+
XFillBitmapItem* XFillBitmapItem::checkForUniqueItem( SdrModel* pModel ) const
{
if( pModel )
@@ -882,9 +457,12 @@ XFillBitmapItem* XFillBitmapItem::checkForUniqueItem( SdrModel* pModel ) const
// if the given name is not valid, replace it!
if( aUniqueName != GetName() )
{
- return new XFillBitmapItem( aUniqueName, aXOBitmap );
+ return new XFillBitmapItem(aUniqueName, maGraphicObject);
}
}
return (XFillBitmapItem*)this;
}
+
+//////////////////////////////////////////////////////////////////////////////
+// eof
diff --git a/svx/source/xoutdev/xpool.cxx b/svx/source/xoutdev/xpool.cxx
index f1c8ac9f1ed5..470bc977728b 100644
--- a/svx/source/xoutdev/xpool.cxx
+++ b/svx/source/xoutdev/xpool.cxx
@@ -46,7 +46,7 @@ XOutdevItemPool::XOutdevItemPool(
{
// prepare some defaults
const XubString aNullStr;
- const Bitmap aNullBmp;
+ const Graphic aNullGraphic;
const basegfx::B2DPolyPolygon aNullPol;
const Color aNullLineCol(RGB_Color(COL_BLACK));
const Color aNullFillCol(RGB_COLORDATA( 153, 204, 255 ));
@@ -92,7 +92,7 @@ XOutdevItemPool::XOutdevItemPool(
mppLocalPoolDefaults[XATTR_FILLCOLOR -XATTR_START] = new XFillColorItem (aNullStr,aNullFillCol);
mppLocalPoolDefaults[XATTR_FILLGRADIENT -XATTR_START] = new XFillGradientItem(this,aNullGrad);
mppLocalPoolDefaults[XATTR_FILLHATCH -XATTR_START] = new XFillHatchItem (this,aNullHatch);
- mppLocalPoolDefaults[XATTR_FILLBITMAP -XATTR_START] = new XFillBitmapItem (this,aNullBmp);
+ mppLocalPoolDefaults[XATTR_FILLBITMAP -XATTR_START] = new XFillBitmapItem (this, aNullGraphic);
mppLocalPoolDefaults[XATTR_FILLTRANSPARENCE -XATTR_START] = new XFillTransparenceItem;
mppLocalPoolDefaults[XATTR_GRADIENTSTEPCOUNT -XATTR_START] = new XGradientStepCountItem;
mppLocalPoolDefaults[XATTR_FILLBMP_TILE -XATTR_START] = new XFillBmpTileItem;
diff --git a/svx/source/xoutdev/xtabbtmp.cxx b/svx/source/xoutdev/xtabbtmp.cxx
index b91f9310ade9..4b7993b9c5c7 100644
--- a/svx/source/xoutdev/xtabbtmp.cxx
+++ b/svx/source/xoutdev/xtabbtmp.cxx
@@ -24,17 +24,11 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#ifndef SVX_LIGHT
-
#include <com/sun/star/container/XNameContainer.hpp>
#include "svx/XPropertyTable.hxx"
#include <unotools/ucbstreamhelper.hxx>
-
-#include "xmlxtexp.hxx"
-#include "xmlxtimp.hxx"
-
-#endif
-
+#include <xmlxtexp.hxx>
+#include <xmlxtimp.hxx>
#include <tools/urlobj.hxx>
#include <vcl/virdev.hxx>
#include <svl/itemset.hxx>
@@ -43,6 +37,7 @@
#include <svx/dialmgr.hxx>
#include <svx/xtable.hxx>
#include <svx/xpool.hxx>
+#include <svx/xbtmpit.hxx>
#define GLOBALOVERFLOW
@@ -234,7 +229,6 @@ sal_Bool XBitmapList::Save()
sal_Bool XBitmapList::Create()
{
- // Array der Bitmap
//-----------------------
// 00 01 02 03 04 05 06 07
// 08 09 10 11 12 13 14 15
@@ -244,31 +238,38 @@ sal_Bool XBitmapList::Create()
// 40 41 42 43 44 45 46 47
// 48 49 50 51 52 53 54 55
// 56 57 58 59 60 61 62 63
+ String aStr(SVX_RES(RID_SVXSTR_BITMAP));
+ sal_uInt16 aArray[64];
+ Bitmap aBitmap;
+ const xub_StrLen nLen(aStr.Len() - 1);
- String aStr( SVX_RES( RID_SVXSTR_BITMAP ) );
- Color aColWhite( RGB_Color( COL_WHITE ) );
- xub_StrLen nLen;
- sal_uInt16 aArray[64];
+ memset(aArray, 0, sizeof(aArray));
- memset( aArray, 0, sizeof( aArray ) );
+ // white/white bitmap
aStr.AppendAscii(" 1");
- nLen = aStr.Len() - 1;
- Insert( new XBitmapEntry( XOBitmap( aArray, aColWhite, aColWhite ), aStr ) );
+ aBitmap = createHistorical8x8FromArray(aArray, RGB_Color(COL_WHITE), RGB_Color(COL_WHITE));
+ Insert(new XBitmapEntry(Graphic(aBitmap), aStr));
+ // black/white bitmap
aArray[ 0] = 1; aArray[ 9] = 1; aArray[18] = 1; aArray[27] = 1;
aArray[36] = 1; aArray[45] = 1; aArray[54] = 1; aArray[63] = 1;
aStr.SetChar(nLen, sal_Unicode('2'));
- Insert( new XBitmapEntry( XOBitmap( aArray, RGB_Color( COL_BLACK ), aColWhite ), aStr ) );
+ aBitmap = createHistorical8x8FromArray(aArray, RGB_Color(COL_BLACK), RGB_Color(COL_WHITE));
+ Insert(new XBitmapEntry(Graphic(aBitmap), aStr));
+ // lightred/white bitmap
aArray[ 7] = 1; aArray[14] = 1; aArray[21] = 1; aArray[28] = 1;
aArray[35] = 1; aArray[42] = 1; aArray[49] = 1; aArray[56] = 1;
aStr.SetChar(nLen, sal_Unicode('3'));
- Insert( new XBitmapEntry( XOBitmap( aArray, RGB_Color( COL_LIGHTRED ), aColWhite ), aStr ) );
+ aBitmap = createHistorical8x8FromArray(aArray, RGB_Color(COL_LIGHTRED), RGB_Color(COL_WHITE));
+ Insert(new XBitmapEntry(Graphic(aBitmap), aStr));
+ // lightblue/white bitmap
aArray[24] = 1; aArray[25] = 1; aArray[26] = 1;
aArray[29] = 1; aArray[30] = 1; aArray[31] = 1;
aStr.SetChar(nLen, sal_Unicode('4'));
- Insert( new XBitmapEntry( XOBitmap( aArray, RGB_Color( COL_LIGHTBLUE ), aColWhite ), aStr ) );
+ aBitmap = createHistorical8x8FromArray(aArray, RGB_Color(COL_LIGHTBLUE), RGB_Color(COL_WHITE));
+ Insert(new XBitmapEntry(Graphic(aBitmap), aStr));
return( sal_True );
}
diff --git a/sw/source/core/frmedt/fecopy.cxx b/sw/source/core/frmedt/fecopy.cxx
index 736338373ef7..ac499dbd8198 100644
--- a/sw/source/core/frmedt/fecopy.cxx
+++ b/sw/source/core/frmedt/fecopy.cxx
@@ -1540,11 +1540,11 @@ sal_Bool SwFEShell::Paste( const Graphic &rGrf )
if( bRet )
{
- XOBitmap aXOBitmap( rGrf.GetBitmap() );
- SfxItemSet aSet( GetAttrPool(), XATTR_FILLSTYLE, XATTR_FILLBITMAP );
- aSet.Put( XFillStyleItem( XFILL_BITMAP ));
- aSet.Put( XFillBitmapItem( aEmptyStr, aXOBitmap ));
- pView->SetAttributes( aSet, sal_False );
+ SfxItemSet aSet(GetAttrPool(), XATTR_FILLSTYLE, XATTR_FILLBITMAP);
+
+ aSet.Put(XFillStyleItem(XFILL_BITMAP));
+ aSet.Put(XFillBitmapItem(aEmptyStr, rGrf));
+ pView->SetAttributes(aSet, false);
}
return bRet;
}
diff --git a/sw/source/filter/ww8/ww8graf.cxx b/sw/source/filter/ww8/ww8graf.cxx
index 4aee50356c91..2432e214f5fe 100644
--- a/sw/source/filter/ww8/ww8graf.cxx
+++ b/sw/source/filter/ww8/ww8graf.cxx
@@ -1914,28 +1914,19 @@ void SwWW8ImplReader::MatchSdrItemsIntoFlySet( SdrObject* pSdrObj,
break;
case XFILL_BITMAP:
{
- const Graphic aGraphic(
- static_cast< XFillBitmapItem const & >(
- rOldSet.Get(XATTR_FILLBITMAP)).
- GetBitmapValue().GetBitmap());
- bool bTile = WW8ITEMVALUE(rOldSet, XATTR_FILLBMP_TILE,
- SfxBoolItem) ? true: false;
- GraphicObject aGrfObj(aGraphic);
+ GraphicObject aGrfObj(static_cast< XFillBitmapItem const & >(rOldSet.Get(XATTR_FILLBITMAP)).GetGraphicObject());
+ const bool bTile(WW8ITEMVALUE(rOldSet, XATTR_FILLBMP_TILE, SfxBoolItem) ? true: false);
- aBrushItem.SetGraphicObject(aGrfObj);
-
- if (bBrushItemOk) //has trans
+ if(bBrushItemOk) //has trans
{
- GraphicObject *pGraphicObject =
- const_cast<GraphicObject *>
- (aBrushItem.GetGraphicObject());
- GraphicAttr aAttr(pGraphicObject->GetAttr());
+ GraphicAttr aAttr(aGrfObj.GetAttr());
+
aAttr.SetTransparency(nTrans);
- pGraphicObject->SetAttr(aAttr);
+ aGrfObj.SetAttr(aAttr);
}
+ aBrushItem.SetGraphicObject(aGrfObj);
aBrushItem.SetGraphicPos(bTile ? GPOS_TILED : GPOS_AREA);
-
bBrushItemOk = true;
}
break;