diff options
| author | Felipe Corr??a da Silva Sanches <juca@members.fsf.org> | 2007-08-03 22:06:30 +0000 |
|---|---|---|
| committer | jucablues <jucablues@users.sourceforge.net> | 2007-08-03 22:06:30 +0000 |
| commit | e001243df1807ee92a27b0c8a3c63484a82e4c83 (patch) | |
| tree | 050d58021c2745fb656ec877cb0835a32f158a91 /src/display | |
| parent | Rearrange snapping preferences, put distinction between paths and nodes back ... (diff) | |
| download | inkscape-e001243df1807ee92a27b0c8a3c63484a82e4c83.tar.gz inkscape-e001243df1807ee92a27b0c8a3c63484a82e4c83.zip | |
boiler plate code for feTile
(bzr r3362)
Diffstat (limited to 'src/display')
| -rw-r--r-- | src/display/Makefile_insert | 2 | ||||
| -rw-r--r-- | src/display/nr-filter-tile.cpp | 60 | ||||
| -rw-r--r-- | src/display/nr-filter-tile.h | 44 | ||||
| -rw-r--r-- | src/display/nr-filter.cpp | 3 |
4 files changed, 108 insertions, 1 deletions
diff --git a/src/display/Makefile_insert b/src/display/Makefile_insert index 1713dc751..ed9eae9be 100644 --- a/src/display/Makefile_insert +++ b/src/display/Makefile_insert @@ -93,6 +93,8 @@ display_libspdisplay_a_SOURCES = \ display/nr-filter-slot.h \ display/nr-filter-specularlighting.cpp \ display/nr-filter-specularlighting.h \ + display/nr-filter-tile.cpp \ + display/nr-filter-tile.h \ display/nr-filter-turbulence.cpp \ display/nr-filter-turbulence.h \ display/nr-filter-pixops.h \ diff --git a/src/display/nr-filter-tile.cpp b/src/display/nr-filter-tile.cpp new file mode 100644 index 000000000..69d577687 --- /dev/null +++ b/src/display/nr-filter-tile.cpp @@ -0,0 +1,60 @@ +/* + * feTile filter primitive renderer + * + * Authors: + * Felipe CorrĂȘa da Silva Sanches <felipe.sanches@gmail.com> + * + * Copyright (C) 2007 authors + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#include "display/nr-filter-tile.h" +namespace NR { + +FilterTile::FilterTile() +{ + g_warning("FilterTile::render not implemented."); +} + +FilterPrimitive * FilterTile::create() { + return new FilterTile(); +} + +FilterTile::~FilterTile() +{} + +int FilterTile::render(FilterSlot &slot, Matrix const &trans) { + NRPixBlock *in = slot.get(_input); + NRPixBlock *out = new NRPixBlock; + + nr_pixblock_setup_fast(out, in->mode, + in->area.x0, in->area.y0, in->area.x1, in->area.y1, + true); + + unsigned char *in_data = NR_PIXBLOCK_PX(in); + unsigned char *out_data = NR_PIXBLOCK_PX(out); + +//IMPLEMENT ME! + + out->empty = FALSE; + slot.set(_output, out); + return 0; +} + +void FilterTile::area_enlarge(NRRectL &area, Matrix const &trans) +{ +} + +} /* namespace NR */ + +/* + 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:encoding=utf-8:textwidth=99 : diff --git a/src/display/nr-filter-tile.h b/src/display/nr-filter-tile.h new file mode 100644 index 000000000..32aa7b086 --- /dev/null +++ b/src/display/nr-filter-tile.h @@ -0,0 +1,44 @@ +#ifndef __NR_FILTER_TILE_H__ +#define __NR_FILTER_TILE_H__ + +/* + * feTile filter primitive renderer + * + * Authors: + * Felipe CorrĂȘa da Silva Sanches <felipe.sanches@gmail.com> + * + * Copyright (C) 2007 authors + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#include "display/nr-filter-primitive.h" +#include "display/nr-filter-slot.h" +#include "libnr/nr-matrix.h" +#include "libnr/nr-rect-l.h" + +namespace NR { + +class FilterTile : public FilterPrimitive { +public: + FilterTile(); + static FilterPrimitive *create(); + virtual ~FilterTile(); + + virtual int render(FilterSlot &slot, Matrix const &trans); + virtual void area_enlarge(NRRectL &area, Matrix const &trans); +}; + +} /* namespace NR */ + +#endif /* __NR_FILTER_TILE_H__ */ +/* + 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:encoding=utf-8:textwidth=99 : diff --git a/src/display/nr-filter.cpp b/src/display/nr-filter.cpp index 95867363b..31c3478a2 100644 --- a/src/display/nr-filter.cpp +++ b/src/display/nr-filter.cpp @@ -31,6 +31,7 @@ #include "display/nr-filter-merge.h" #include "display/nr-filter-offset.h" #include "display/nr-filter-specularlighting.h" +#include "display/nr-filter-tile.h" #include "display/nr-filter-turbulence.h" #include "display/nr-arena-item.h" @@ -331,7 +332,7 @@ void Filter::_create_constructor_table() _constructor[NR_FILTER_MORPHOLOGY] = NULL; _constructor[NR_FILTER_OFFSET] = &FilterOffset::create; _constructor[NR_FILTER_SPECULARLIGHTING] = &FilterSpecularLighting::create; - _constructor[NR_FILTER_TILE] = NULL; + _constructor[NR_FILTER_TILE] = &FilterTile::create; _constructor[NR_FILTER_TURBULENCE] = &FilterTurbulence::create; created = true; } |
