summaryrefslogtreecommitdiff
path: root/cppcanvas/source/mtfrenderer/cachedprimitivebase.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cppcanvas/source/mtfrenderer/cachedprimitivebase.cxx')
-rw-r--r--cppcanvas/source/mtfrenderer/cachedprimitivebase.cxx96
1 files changed, 0 insertions, 96 deletions
diff --git a/cppcanvas/source/mtfrenderer/cachedprimitivebase.cxx b/cppcanvas/source/mtfrenderer/cachedprimitivebase.cxx
deleted file mode 100644
index 21ee8be44f..0000000000
--- a/cppcanvas/source/mtfrenderer/cachedprimitivebase.cxx
+++ /dev/null
@@ -1,96 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_cppcanvas.hxx"
-
-#include <rtl/logfile.hxx>
-
-#include <com/sun/star/rendering/RepaintResult.hpp>
-
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <canvas/canvastools.hxx>
-#include <cppcanvas/canvas.hxx>
-
-#include "cachedprimitivebase.hxx"
-
-using namespace ::com::sun::star;
-
-namespace cppcanvas
-{
- namespace internal
- {
- CachedPrimitiveBase::CachedPrimitiveBase( const CanvasSharedPtr& rCanvas,
- bool bOnlyRedrawWithSameTransform ) :
- mpCanvas( rCanvas ),
- mxCachedPrimitive(),
- maLastTransformation(),
- mbOnlyRedrawWithSameTransform( bOnlyRedrawWithSameTransform )
- {
- // TODO(F2): also store last view transform, and refuse to
- // redraw if changed.
- }
-
- bool CachedPrimitiveBase::render( const ::basegfx::B2DHomMatrix& rTransformation ) const
- {
- RTL_LOGFILE_CONTEXT( aLog, "::cppcanvas::internal::CachedPrimitiveBase::render()" );
- RTL_LOGFILE_CONTEXT_TRACE1( aLog, "::cppcanvas::internal::CachedPrimitiveBase: 0x%X", this );
-
- const rendering::ViewState& rViewState( mpCanvas->getViewState() );
- ::basegfx::B2DHomMatrix aTotalTransform;
-
- ::canvas::tools::getViewStateTransform( aTotalTransform,
- rViewState );
- aTotalTransform *= rTransformation;
-
- // can we use the cached primitive? For that, it must be
- // present in the first place, and, if
- // mbOnlyRedrawWithSameTransform is true, the overall
- // transformation must be the same.
- if( mxCachedPrimitive.is() &&
- (!mbOnlyRedrawWithSameTransform ||
- maLastTransformation == aTotalTransform) )
- {
- if( mxCachedPrimitive->redraw( rViewState ) ==
- rendering::RepaintResult::REDRAWN )
- {
- // cached repaint succeeded, done.
- return true;
- }
- }
-
- maLastTransformation = aTotalTransform;
-
- // delegate rendering to derived classes
- return render( mxCachedPrimitive,
- rTransformation );
- }
- }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */