ndgrf.hxx (f7809f79) ndgrf.hxx (f636aef8)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 11 unchanged lines hidden (view full) ---

20 *************************************************************/
21
22
23#ifndef _NDGRF_HXX
24#define _NDGRF_HXX
25#include <sfx2/lnkbase.hxx>
26#include <svtools/grfmgr.hxx>
27#include <ndnotxt.hxx>
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 11 unchanged lines hidden (view full) ---

20 *************************************************************/
21
22
23#ifndef _NDGRF_HXX
24#define _NDGRF_HXX
25#include <sfx2/lnkbase.hxx>
26#include <svtools/grfmgr.hxx>
27#include <ndnotxt.hxx>
28// --> OD, MAV 2005-08-17 #i53025#
29#include <com/sun/star/embed/XStorage.hpp>
28#include <com/sun/star/embed/XStorage.hpp>
30// <--
31// --> OD 2007-03-28 #i73788#
32#include <boost/shared_ptr.hpp>
33#include <boost/weak_ptr.hpp>
34class SwAsyncRetrieveInputStreamThreadConsumer;
29#include <boost/shared_ptr.hpp>
30#include <boost/weak_ptr.hpp>
31class SwAsyncRetrieveInputStreamThreadConsumer;
35// <--
36
37class SwGrfFmtColl;
38class SwDoc;
39class GraphicAttr;
40class SvStorage;
32
33class SwGrfFmtColl;
34class SwDoc;
35class GraphicAttr;
36class SvStorage;
41// --------------------
42// SwGrfNode
43// --------------------
37
38
44class SW_DLLPUBLIC SwGrfNode: public SwNoTxtNode
45{
39class SW_DLLPUBLIC SwGrfNode: public SwNoTxtNode
40{
46 friend class SwNodes;
41 friend class SwNodes;
47
42
48 GraphicObject maGrfObj;
49 GraphicObject* mpReplacementGraphic;
43 GraphicObject maGrfObj;
44 GraphicObject* mpReplacementGraphic;
50 ::sfx2::SvBaseLinkRef refLink; // falls Grafik nur als Link, dann Pointer gesetzt
45 ::sfx2::SvBaseLinkRef refLink; // falls Grafik nur als Link, dann Pointer gesetzt
51 Size nGrfSize;
52// String aStrmName; // SW3: Name des Storage-Streams fuer Embedded
53 String aNewStrmName; // SW3/XML: new stream name (either SW3 stream
54 // name or package url)
55 String aLowResGrf; // HTML: LowRes Grafik (Ersatzdarstellung bis
56 // die normale (HighRes) geladen ist.
57 sal_Bool bTransparentFlagValid :1;
58 sal_Bool bInSwapIn :1;
46 Size nGrfSize;
47 sal_Bool bInSwapIn :1;
59
48
60 sal_Bool bGrafikArrived :1;
61 sal_Bool bChgTwipSize :1;
62 sal_Bool bChgTwipSizeFromPixel :1;
63 sal_Bool bLoadLowResGrf :1;
64 sal_Bool bFrameInPaint :1; //Um Start-/EndActions im Paint (ueber
65 //SwapIn zu verhindern.
66 sal_Bool bScaleImageMap :1; //Image-Map in SetTwipSize skalieren
49 sal_Bool bGrafikArrived :1;
50 sal_Bool bChgTwipSize :1;
51 sal_Bool bChgTwipSizeFromPixel :1;
52 sal_Bool bLoadLowResGrf :1;
53 sal_Bool bFrameInPaint :1; // Um Start-/EndActions im Paint (ueber SwapIn zu verhindern.
54 sal_Bool bScaleImageMap :1; // Image-Map in SetTwipSize skalieren
67
55
68 // --> OD 2007-01-19 #i73788#
69 boost::shared_ptr< SwAsyncRetrieveInputStreamThreadConsumer > mpThreadConsumer;
70 bool mbLinkedInputStreamReady;
71 com::sun::star::uno::Reference<com::sun::star::io::XInputStream> mxInputStream;
72 sal_Bool mbIsStreamReadOnly;
56 boost::shared_ptr< SwAsyncRetrieveInputStreamThreadConsumer > mpThreadConsumer;
57 bool mbLinkedInputStreamReady;
58 com::sun::star::uno::Reference<com::sun::star::io::XInputStream> mxInputStream;
59 sal_Bool mbIsStreamReadOnly;
73 // <--
74
75 SwGrfNode( const SwNodeIndex& rWhere,
76 const String& rGrfName, const String& rFltName,
77 const Graphic* pGraphic,
78 SwGrfFmtColl* pGrfColl,
79 SwAttrSet* pAutoAttr = 0 );
80 // Ctor fuer Einlesen (SW/G) ohne Grafik
81 SwGrfNode( const SwNodeIndex& rWhere,
82 const String& rGrfName, const String& rFltName,
83 SwGrfFmtColl* pGrfColl,
84 SwAttrSet* pAutoAttr = 0 );
85 SwGrfNode( const SwNodeIndex& rWhere,
86 const GraphicObject& rGrfObj,
87 SwGrfFmtColl* pGrfColl,
88 SwAttrSet* pAutoAttr = 0 );
89
90 void InsertLink( const String& rGrfName, const String& rFltName );
91 sal_Bool ImportGraphic( SvStream& rStrm );
92 sal_Bool HasStreamName() const { return maGrfObj.HasUserData(); }
60
61 SwGrfNode( const SwNodeIndex& rWhere,
62 const String& rGrfName, const String& rFltName,
63 const Graphic* pGraphic,
64 SwGrfFmtColl* pGrfColl,
65 SwAttrSet* pAutoAttr = 0 );
66 // Ctor fuer Einlesen (SW/G) ohne Grafik
67 SwGrfNode( const SwNodeIndex& rWhere,
68 const String& rGrfName, const String& rFltName,
69 SwGrfFmtColl* pGrfColl,
70 SwAttrSet* pAutoAttr = 0 );
71 SwGrfNode( const SwNodeIndex& rWhere,
72 const GraphicObject& rGrfObj,
73 SwGrfFmtColl* pGrfColl,
74 SwAttrSet* pAutoAttr = 0 );
75
76 void InsertLink( const String& rGrfName, const String& rFltName );
77 sal_Bool ImportGraphic( SvStream& rStrm );
78 sal_Bool HasStreamName() const { return maGrfObj.HasUserData(); }
93 // --> OD 2005-05-04 #i48434# - adjust return type and rename method to
94 // indicate that its an private one.
95 // --> OD 2005-08-17 #i53025#
96 // embedded graphic stream couldn't be inside a 3.1 - 5.2 storage any more.
97 // Thus, return value isn't needed any more.
98 void _GetStreamStorageNames( String& rStrmName, String& rStgName ) const;
79 void _GetStreamStorageNames( String& rStrmName, String& rStgName ) const;
99 // <--
100 void DelStreamName();
101 DECL_LINK( SwapGraphic, GraphicObject* );
102
103 /** helper method to determine stream for the embedded graphic.
104
105 OD 2005-05-04 #i48434#
106 Important note: caller of this method has to handle the thrown exceptions
107 OD, MAV 2005-08-17 #i53025#

--- 80 unchanged lines hidden (view full) ---

188
189 // erneutes Einlesen, falls Graphic nicht Ok ist. Die
190 // aktuelle wird durch die neue ersetzt.
191 sal_Bool ReRead( const String& rGrfName, const String& rFltName,
192 const Graphic* pGraphic = 0,
193 const GraphicObject* pGrfObj = 0,
194 sal_Bool bModify = sal_True );
195 // Laden der Grafik unmittelbar vor der Anzeige
80 void DelStreamName();
81 DECL_LINK( SwapGraphic, GraphicObject* );
82
83 /** helper method to determine stream for the embedded graphic.
84
85 OD 2005-05-04 #i48434#
86 Important note: caller of this method has to handle the thrown exceptions
87 OD, MAV 2005-08-17 #i53025#

--- 80 unchanged lines hidden (view full) ---

168
169 // erneutes Einlesen, falls Graphic nicht Ok ist. Die
170 // aktuelle wird durch die neue ersetzt.
171 sal_Bool ReRead( const String& rGrfName, const String& rFltName,
172 const Graphic* pGraphic = 0,
173 const GraphicObject* pGrfObj = 0,
174 sal_Bool bModify = sal_True );
175 // Laden der Grafik unmittelbar vor der Anzeige
196 short SwapIn( sal_Bool bWaitForData = sal_False );
197 // Entfernen der Grafik, um Speicher freizugeben
198 short SwapOut();
199 // Zugriff auf den Storage-Streamnamen
200 void SetStreamName( const String& r ) { maGrfObj.SetUserData( r ); }
201 void SetNewStreamName( const String& r ) { aNewStrmName = r; }
202 // is this node selected by any shell?
203 sal_Bool IsSelected() const;
176 short SwapIn( sal_Bool bWaitForData = sal_False );
177 // Entfernen der Grafik, um Speicher freizugeben
178 short SwapOut();
179
180 // applying new stream name for embedded graphic - needed as saving the document might change this stream name
181 void ApplyNewEmbeddedStreamName( const String& r )
182 {
183 maGrfObj.SetUserData( r );
184 }
185
186 // is this node selected by any shell?
187 sal_Bool IsSelected() const;
204#endif
205
206 // Der Grafik sagen, dass sich der Node im Undobereich befindet
207 virtual sal_Bool SavePersistentData();
208 virtual sal_Bool RestorePersistentData();
209
210#ifndef _FESHVIEW_ONLY_INLINE_NEEDED
211 // Abfrage der Link-Daten

--- 7 unchanged lines hidden (view full) ---

219 // Skalieren einer Image-Map: Die Image-Map wird um den Faktor
220 // zwischen Grafik-Groesse und Rahmen-Groesse vergroessert/verkleinert
221 void ScaleImageMap();
222
223 // returns the with our graphic attributes filled Graphic-Attr-Structure
224 GraphicAttr& GetGraphicAttr( GraphicAttr&, const SwFrm* pFrm ) const;
225
226#endif
188#endif
189
190 // Der Grafik sagen, dass sich der Node im Undobereich befindet
191 virtual sal_Bool SavePersistentData();
192 virtual sal_Bool RestorePersistentData();
193
194#ifndef _FESHVIEW_ONLY_INLINE_NEEDED
195 // Abfrage der Link-Daten

--- 7 unchanged lines hidden (view full) ---

203 // Skalieren einer Image-Map: Die Image-Map wird um den Faktor
204 // zwischen Grafik-Groesse und Rahmen-Groesse vergroessert/verkleinert
205 void ScaleImageMap();
206
207 // returns the with our graphic attributes filled Graphic-Attr-Structure
208 GraphicAttr& GetGraphicAttr( GraphicAttr&, const SwFrm* pFrm ) const;
209
210#endif
227 // --> OD 2007-01-18 #i73788#
228 boost::weak_ptr< SwAsyncRetrieveInputStreamThreadConsumer > GetThreadConsumer();
229 bool IsLinkedInputStreamReady() const;
230 void TriggerAsyncRetrieveInputStream();
231 void ApplyInputStream(
232 com::sun::star::uno::Reference<com::sun::star::io::XInputStream> xInputStream,
233 const sal_Bool bIsStreamReadOnly );
234 void UpdateLinkWithInputStream();
211 boost::weak_ptr< SwAsyncRetrieveInputStreamThreadConsumer > GetThreadConsumer();
212 bool IsLinkedInputStreamReady() const;
213 void TriggerAsyncRetrieveInputStream();
214 void ApplyInputStream(
215 com::sun::star::uno::Reference<com::sun::star::io::XInputStream> xInputStream,
216 const sal_Bool bIsStreamReadOnly );
217 void UpdateLinkWithInputStream();
235 // <--
236 // --> OD 2008-07-21 #i90395#
237 bool IsAsyncRetrieveInputStreamPossible() const;
218 bool IsAsyncRetrieveInputStreamPossible() const;
238 // <--
239};
240
241
242// ----------------------------------------------------------------------
243// Inline Metoden aus Node.hxx - erst hier ist der TxtNode bekannt !!
244inline SwGrfNode *SwNode::GetGrfNode()
245{
246 return ND_GRFNODE == nNodeType ? (SwGrfNode*)this : 0;

--- 19 unchanged lines hidden ---
219};
220
221
222// ----------------------------------------------------------------------
223// Inline Metoden aus Node.hxx - erst hier ist der TxtNode bekannt !!
224inline SwGrfNode *SwNode::GetGrfNode()
225{
226 return ND_GRFNODE == nNodeType ? (SwGrfNode*)this : 0;

--- 19 unchanged lines hidden ---