/**
* @file
* Cairo drawing context with Inkscape extensions.
*//*
* Authors:
* Krzysztof KosiĆski <tweenk.pl@gmail.com>
*
* Copyright (C) 2011 Authors
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#include "display/drawing-context.h"
#include "display/drawing-surface.h"
#include "display/cairo-utils.h"
namespace Inkscape {
using Geom::X;
using Geom::Y;
/**
* @class DrawingContext::Save
* RAII idiom for saving the state of DrawingContext.
*/
{}
{
}
{
if (_dc) {
}
}
{
if (_dc) {
// TODO: it might be better to treat this occurence as a bug
}
}
/**
* @class DrawingContext
* Minimal wrapper over Cairo.
*
* This is a wrapper over cairo_t, extended with operations that work
* with 2Geom geometrical primitives. Some of this is probably duplicated
* in cairo-render-context.cpp, which provides higher level operations
* for drawing entire SPObjects when exporting.
*/
, _delete_surface(true)
, _restore_context(true)
{
_surface->_has_context = true;
}
, _delete_surface(true)
, _restore_context(false)
{
_surface->_has_context = true;
}
: _ct(s.createRawContext())
, _surface(&s)
, _delete_surface(false)
, _restore_context(false)
{}
{
if (_restore_context) {
}
_surface->_has_context = false;
if (_delete_surface) {
delete _surface;
}
}
void DrawingContext::arc(Geom::Point const ¢er, double radius, Geom::AngleInterval const &angle)
{
} else {
}
}
}
}
}
}
}
}
{
return ret;
}
} // end namespace Inkscape
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :