Logo Search packages:      
Sourcecode: inkscape version File versions

Todo List

Member Inkscape::UI::ClipboardManagerImpl::_pasteImage ()
Check whether the encoding is correct here

Member Inkscape::UI::ClipboardManagerImpl::_pasteImage ()
Check whether the encoding is correct here

Member Inkscape::UI::ClipboardManagerImpl::pastePathEffect ()
FIXME: pastePathEffect crashes when moving the path with the applied effect, segfaulting in fork_private_if_necessary().

Member Inkscape::UI::ClipboardManagerImpl::pastePathEffect ()
FIXME: pastePathEffect crashes when moving the path with the applied effect, segfaulting in fork_private_if_necessary().

Member SPObject::requestOrphanCollection ()
This is a temporary hack added to make fill&stroke rebuild its gradient list when the defs are vacuumed. gradient-vector.cpp listens to the modified signal on defs, and now we give it that signal. Mental says that this should be made automatic by merging SPObjectGroup with SPObject; SPObjectGroup would issue this signal automatically. Or maybe just derive SPDefs from SPObjectGroup?

Member SPObject::requestOrphanCollection ()
This is a temporary hack added to make fill&stroke rebuild its gradient list when the defs are vacuumed. gradient-vector.cpp listens to the modified signal on defs, and now we give it that signal. Mental says that this should be made automatic by merging SPObjectGroup with SPObject; SPObjectGroup would issue this signal automatically. Or maybe just derive SPDefs from SPObjectGroup?

Member SPObject::updateDisplay (SPCtx *ctx, unsigned int flags)
I am not sure whether we should check only propagated flag. We are currently assuming that style parsing is done immediately. I think this is correct (Lauris).

Member SPObject::updateDisplay (SPCtx *ctx, unsigned int flags)
in case of catching an exception we need to inform the user somehow that the document is corrupted maybe by implementing an document flag documentOk or by a modal error dialog

Member SPObject::updateDisplay (SPCtx *ctx, unsigned int flags)
I am not sure whether we should check only propagated flag. We are currently assuming that style parsing is done immediately. I think this is correct (Lauris).

Member SPObject::updateDisplay (SPCtx *ctx, unsigned int flags)
in case of catching an exception we need to inform the user somehow that the document is corrupted maybe by implementing an document flag documentOk or by a modal error dialog

Member SPObject::updateRepr (Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, unsigned int flags)
FIXME: else probably error (Lauris) */

Member SPObject::updateRepr (Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, unsigned int flags)
FIXME: else probably error (Lauris) */

Member Inkscape::ContextVerb::perform (SPAction *action, void *mydata, void *otherdata)
!!! hopefully this can go away soon and actions can look after themselves

Member Inkscape::ContextVerb::perform (SPAction *action, void *mydata, void *otherdata)
!!! hopefully this can go away soon and actions can look after themselves

Member Inkscape::XML::Node::attributeList () const =0
This method should return std::map<Glib::Quark const, gchar const *> or something similar with a custom allocator

Member Inkscape::XML::Node::attributeList () const =0
This method should return std::map<Glib::Quark const, gchar const *> or something similar with a custom allocator

Member Inkscape::Extension::Effect::check (void)
Check to see if parent has this as its only child, if so, delete it too

Member Inkscape::Extension::Effect::check (void)
Check to see if parent has this as its only child, if so, delete it too

Member Inkscape::Extension::Extension::set_state (state_t in_state)
Need some more error checking here!

Member Inkscape::Extension::Extension::set_state (state_t in_state)
Need some more error checking here!

Member Inkscape::Extension::Extension::~Extension (void)
Need to do parameters here

Member Inkscape::Extension::Extension::~Extension (void)
Need to do parameters here

Member IntLigne::Copy (FloatLigne *a)
Optimization Questions: Why is this called so often compared with the other Copy() routines? How does AddRun() look for optimization potential?

Member IntLigne::Copy (FloatLigne *a)
Optimization Questions: Why is this called so often compared with the other Copy() routines? How does AddRun() look for optimization potential?

Member Inkscape::Text::Layout::Calculator::calculate ()
check if this is the correct behaviour g_assert(_flow._input_stream.front()->Type() == TEXT_SOURCE);

Member Inkscape::Text::Layout::Calculator::calculate ()
check if this is the correct behaviour g_assert(_flow._input_stream.front()->Type() == TEXT_SOURCE);

Member NodeSort::NodeSort (Inkscape::NodePath::Node *node, Geom::Dim2 axis)
use vectorof pointers instead of calling copy ctor

Member NodeSort::NodeSort (Inkscape::NodePath::Node *node, Geom::Dim2 axis)
use vectorof pointers instead of calling copy ctor

Class Inkscape::UI::Widget::PaperSizeRec
Should we include the JIS B series (used in Japan) (JIS B0 is sometimes called JB0, and similarly for JB1 etc)? Should we exclude B7--B10 and A7--10 to make the list smaller ? Should we include any of the ISO C, D and E series (see below) ?

Class Inkscape::UI::Widget::PaperSizeRec
Should we include the JIS B series (used in Japan) (JIS B0 is sometimes called JB0, and similarly for JB1 etc)? Should we exclude B7--B10 and A7--10 to make the list smaller ? Should we include any of the ISO C, D and E series (see below) ?

Member Inkscape::Extension::ParamBoolCheckButton::ParamBoolCheckButton (ParamBool *param, SPDocument *doc, Inkscape::XML::Node *node, sigc::signal< void > *changeSignal)
fix

Member Inkscape::Extension::ParamBoolCheckButton::ParamBoolCheckButton (ParamBool *param, SPDocument *doc, Inkscape::XML::Node *node, sigc::signal< void > *changeSignal)
fix

Member Inkscape::Extension::ParamBoolCheckButton::on_toggle (void)
fix this

Member Inkscape::Extension::ParamBoolCheckButton::on_toggle (void)
fix this

Member Inkscape::NodePath::Path::selection (std::list< Node * > &l)
this adds a copying, rework when the selection becomes a stl list

Member Inkscape::NodePath::Path::selection (std::list< Node * > &l)
this adds a copying, rework when the selection becomes a stl list

Member Inkscape::Preferences::setBool (Glib::ustring const &pref_path, bool value)
Boolean values should be stored as "true" and "false", but this is not possible due to an interaction with event contexts. Investigate this in depth.

Member Inkscape::Preferences::setBool (Glib::ustring const &pref_path, bool value)
Boolean values should be stored as "true" and "false", but this is not possible due to an interaction with event contexts. Investigate this in depth.

Member NR::rotate::inverse () const
In the usual case that vec is a unit vector (within rounding error), dividing by len_sq is either a noop or numerically harmful. Make a unit_rotate class (or the like) that knows its length is 1.

Member NR::rotate::inverse () const
In the usual case that vec is a unit vector (within rounding error), dividing by len_sq is either a noop or numerically harmful. Make a unit_rotate class (or the like) that knows its length is 1.

Member Inkscape::Extension::Implementation::Script::copy_doc (Inkscape::XML::Node *olddoc, Inkscape::XML::Node *newdoc)
Restore correct layer

Member Inkscape::Extension::Implementation::Script::copy_doc (Inkscape::XML::Node *olddoc, Inkscape::XML::Node *newdoc)
Restore correct selection

Member Inkscape::Extension::Implementation::Script::copy_doc (Inkscape::XML::Node *olddoc, Inkscape::XML::Node *newdoc)
Restore correct layer

Member Inkscape::Extension::Implementation::Script::copy_doc (Inkscape::XML::Node *olddoc, Inkscape::XML::Node *newdoc)
Restore correct selection

Member Inkscape::Extension::Implementation::Script::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *doc, ImplementationDocumentCache *docCache)
Popup dialog here

Member Inkscape::Extension::Implementation::Script::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *doc, ImplementationDocumentCache *docCache)
Popup dialog here

Member Inkscape::Extension::Implementation::Script::open (Inkscape::Extension::Input *module, gchar const *filename)
Popup dialog here

Member Inkscape::Extension::Implementation::Script::open (Inkscape::Extension::Input *module, gchar const *filename)
Popup dialog here

Member Inkscape::Extension::Implementation::Script::save (Inkscape::Extension::Output *module, SPDocument *doc, gchar const *filename)
Popup dialog here

Member Inkscape::Extension::Implementation::Script::save (Inkscape::Extension::Output *module, SPDocument *doc, gchar const *filename)
Popup dialog here

Member Inkscape::Selection::boundsInDocument (SPItem::BBoxType type=SPItemAPPROXIMATE_BBOX) const
how is this different from bounds()?

Member Inkscape::Selection::boundsInDocument (NRRect *dest, SPItem::BBoxType type=SPItemAPPROXIMATE_BBOX) const
how is this different from bounds()?

Member Inkscape::Selection::boundsInDocument (SPItem::BBoxType type=SPItemAPPROXIMATE_BBOX) const
how is this different from bounds()?

Member Inkscape::Selection::boundsInDocument (NRRect *dest, SPItem::BBoxType type=SPItemAPPROXIMATE_BBOX) const
how is this different from bounds()?

Member Inkscape::Selection::reprList ()
only returns reprs of SPItems currently; need a separate method for that

Member Inkscape::Selection::reprList ()
only returns reprs of SPItems currently; need a separate method for that

Member SPDesktop::guides_active
fixme: This has to be implemented in different way */

Member SPDesktop::guides_active
fixme: This has to be implemented in different way */

Member SPDesktop::init (SPNamedView *nv, SPCanvas *canvas)
FIXME: this is the only call to this. Everything else seems to just call "set" instead of "push". Can we assume that there is only one context ever?

Member SPDesktop::init (SPNamedView *nv, SPCanvas *canvas)
FIXME: this is the only call to this. Everything else seems to just call "set" instead of "push". Can we assume that there is only one context ever?

Member SPDesktop::setDocument (SPDocument *doc)
fixme: This condition exists to make sure the code inside is NOT called on initialization, only on replacement. But there are surely more safe methods to accomplish this.

Member SPDesktop::setDocument (SPDocument *doc)
fixme: This condition exists to make sure the code inside is NOT called on initialization, only on replacement. But there are surely more safe methods to accomplish this.

Member SPDesktop::zoom_absolute_keep_point (double cx, double cy, double px, double py, double zoom)
someone please fix calculations properly and remove this hack

Member SPDesktop::zoom_absolute_keep_point (double cx, double cy, double px, double py, double zoom)
someone please fix calculations properly and remove this hack

Member SPDesktopWidget::shutdown ()
FIXME !!! obviously this will have problems if the document name contains markup characters

Member SPDesktopWidget::shutdown ()
FIXME !!! obviously this will have problems if the document name contains markup characters

Member SPDesktopWidget::viewSetPosition (Geom::Point p)
fixme:

Member SPDesktopWidget::viewSetPosition (Geom::Point p)
fixme:

Class SPDrawAnchor
Make this a regular knot, this will allow to set statusbar tips.

Class SPDrawAnchor
Make this a regular knot, this will allow to set statusbar tips.

Class SPEvent
This is just placeholder. Plan: We do extensible event structure, that hold applicable (ui, non-ui) data pointers. So it is up to given object/arena implementation to process correct ones in meaningful way. Also, this probably goes to SPObject base class.

Class SPEvent
This is just placeholder. Plan: We do extensible event structure, that hold applicable (ui, non-ui) data pointers. So it is up to given object/arena implementation to process correct ones in meaningful way. Also, this probably goes to SPObject base class.

Class SPGradient
fixme: Implement more here (Lauris)

Class SPGradient
fixme: Implement more here (Lauris)

Class SPSpiral
Should I remove these attributes?

Class SPSpiral
Should I remove these attributes?

Member SPStop::offset
fixme: Should be SPSVGPercentage

Member SPStop::offset
fixme: Should be SPSVGPercentage

Member SPStop::opacity
fixme: Implement SPSVGNumber or something similar.

Member SPStop::opacity
fixme: Implement SPSVGNumber or something similar.

Member SPTextStyle::font
fixme: The 'font' property is ugly, and not working (lauris)

Member SPTextStyle::font
fixme: The 'font' property is ugly, and not working (lauris)

Member Inkscape::Verb::~Verb (void)
all the actions need to be cleaned up first.

Member Inkscape::Verb::~Verb (void)
all the actions need to be cleaned up first.

File basic-intersection.h
brief description

File basic-intersection.h
brief description

Member Geom::chord_length_parameterize (Point const d[], double u[], unsigned len)
It's been reported that u[len - 1] can differ from 1.0 on some systems (amd64), despite it having been calculated as x / x where x is isFinite and non-zero.

Member Geom::chord_length_parameterize (Point const d[], double u[], unsigned len)
It's been reported that u[len - 1] can differ from 1.0 on some systems (amd64), despite it having been calculated as x / x where x is isFinite and non-zero.

Member Geom::compute_hook (Point const &a, Point const &b, double const u, BezierCurve const bezCurve, double const tolerance)
effic: Hooks are very rare. We could start by comparing distsq, only resorting to the more expensive L2 in cases of uncertainty.

Member Geom::compute_hook (Point const &a, Point const &b, double const u, BezierCurve const bezCurve, double const tolerance)
effic: Hooks are very rare. We could start by comparing distsq, only resorting to the more expensive L2 in cases of uncertainty.

Member Geom::estimate_lengths (Point bezier[], Point const data[], double const u[], unsigned len, Point const &tHat1, Point const &tHat2)
Check whether this special-casing is necessary now that NewtonRaphsonRootFind handles non-positive denominator.

Member Geom::estimate_lengths (Point bezier[], Point const data[], double const u[], unsigned len, Point const &tHat1, Point const &tHat2)
Check whether this special-casing is necessary now that NewtonRaphsonRootFind handles non-positive denominator.

File bezier-utils.h
brief description

File bezier-utils.h
brief description

File conjugate_gradient.h
brief description

File conjugate_gradient.h
brief description

File convex-cover.h
brief description

File convex-cover.h
brief description

File crossing.h
brief description

File crossing.h
brief description

File d2-sbasis.h
brief description

File d2-sbasis.h
brief description

Member Geom::line_intersection (Geom::Point const &n0, double const d0, Geom::Point const &n1, double const d1, Geom::Point &result)
Why not use existing but outcommented code below (HAVE_NEW_INTERSECTOR_CODE)?

Member Geom::line_intersection (Geom::Point const &n0, double const d0, Geom::Point const &n1, double const d1, Geom::Point &result)
Why not use existing but outcommented code below (HAVE_NEW_INTERSECTOR_CODE)?

File isnan.h
brief description

File isnan.h
brief description

File ord.h
brief description

File ord.h
brief description

File path-intersection.h
brief description

File path-intersection.h
brief description

File poly.h
brief description

File poly.h
brief description

File quadtree.h
brief description

File quadtree.h
brief description

File region.h
brief description

File region.h
brief description

File sbasis-2d.h
brief description

File sbasis-2d.h
brief description

File sbasis-to-bezier.h
brief description

File sbasis-to-bezier.h
brief description

File solver.h
brief description

File solver.h
brief description

File sweep.h
brief description

File sweep.h
brief description

Member sp_main_gui
FIXME BROKEN - non-UTF-8 sneaks in here.

Member sp_main_gui
FIXME BROKEN - non-UTF-8 sneaks in here.

Member objects_query_fontnumbers
FIXME: add word spacing, kerns? rotates?

Member objects_query_fontnumbers
FIXME: we assume non-% units here

Member sp_desktop_set_color
relative color setting

Member sp_desktop_set_style
FIXME: in set_style, compensate pattern and gradient fills, stroke width, rect corners, font size for the object's own transform so that pasting fills does not depend on preserve/optimize.

Member sp_desktop_set_style
if the style is text-only, apply only to texts?

Member objects_query_fontnumbers
FIXME: add word spacing, kerns? rotates?

Member objects_query_fontnumbers
FIXME: we assume non-% units here

Member sp_desktop_set_color
relative color setting

Member sp_desktop_set_style
FIXME: in set_style, compensate pattern and gradient fills, stroke width, rect corners, font size for the object's own transform so that pasting fills does not depend on preserve/optimize.

Member sp_desktop_set_style
if the style is text-only, apply only to texts?

Member _arena_handler
fixme

Member _onSelectionChanged
only change the layer for single selections, or what? This seems reasonable -- for multiple selections there can be many different layers involved.

Member _arena_handler
fixme

Member _onSelectionChanged
only change the layer for single selections, or what? This seems reasonable -- for multiple selections there can be many different layers involved.

Member sp_export_area_toggled
This returns wrong values if the document has a viewBox.

Member sp_export_detect_size
finish writing this up

Member sp_export_dialog
Needs fixing: there's no way to set ydpi currently, so we use the defaultxdpi value here, too...

Member sp_export_area_toggled
This returns wrong values if the document has a viewBox.

Member sp_export_detect_size
finish writing this up

Member sp_export_dialog
Needs fixing: there's no way to set ydpi currently, so we use the defaultxdpi value here, too...

Member sp_canvas_scroll
FIXME: generate motion events to re-select items.

Member sp_canvas_scroll
FIXME: generate motion events to re-select items.

Member sp_event_context_new
This is bogus. pref_path should be a private property of the inheriting objects.

Member sp_event_context_private_item_handler
Fixme: do context sensitive popup menu on items.

Member sp_event_context_private_root_handler
REmove redundant /value in preference keys

Member sp_event_context_new
This is bogus. pref_path should be a private property of the inheriting objects.

Member sp_event_context_private_item_handler
Fixme: do context sensitive popup menu on items.

Member sp_event_context_private_root_handler
REmove redundant /value in preference keys

Member nr_pixblock_setup_extern
How do you recognise if

Member nr_pixblock_setup_extern
How do you recognise if

Member main
Should this be a static object (see inkscape.cpp)?

Member sp_common_main
fixme: Move these to some centralized location (Lauris)

Member main
Should this be a static object (see inkscape.cpp)?

Member sp_common_main
fixme: Move these to some centralized location (Lauris)

Member NODE_FILL
fixme: Implement these via preferences */

Member SP_TYPE_FLOWREGION
evil evil evil. FIXME: conflict of two different Path classes! There is a conflict in the namespace between two classes named Path. include "sp-flowtext.h" include "sp-flowregion.h"

Member node_key
FIXME: this does not seem to work, the keys are stolen by tool contexts!

Member node_request
fixme: This goes to "moved" event? (lauris)

Member point_line_closest
FIXME: use dot product perhaps?

Member sp_node_selected_add_node
fixme: adjust ?

Member sp_node_selected_delete
fixme: do it the right way

Member sp_nodepath_generate_helperpath
this code to generate a helper canvasitem from an spcurve should be moved to different file

Member sp_nodepath_new
create proper constructor for nodepath::path, this method returns null a constructor cannot so this cannot be simply converted to constructor.

Member sp_nodepath_new
FIXME: remove this. We don't want to edit paths inside flowtext. Instead we will build our flowtext with cloned paths, so that the real paths are outside the flowtext and thus editable as usual.

Member NODE_FILL
fixme: Implement these via preferences */

Member SP_TYPE_FLOWREGION
evil evil evil. FIXME: conflict of two different Path classes! There is a conflict in the namespace between two classes named Path. include "sp-flowtext.h" include "sp-flowregion.h"

Member node_key
FIXME: this does not seem to work, the keys are stolen by tool contexts!

Member node_request
fixme: This goes to "moved" event? (lauris)

Member point_line_closest
FIXME: use dot product perhaps?

Member sp_node_selected_add_node
fixme: adjust ?

Member sp_node_selected_delete
fixme: do it the right way

Member sp_nodepath_generate_helperpath
this code to generate a helper canvasitem from an spcurve should be moved to different file

Member sp_nodepath_new
create proper constructor for nodepath::path, this method returns null a constructor cannot so this cannot be simply converted to constructor.

Member sp_nodepath_new
FIXME: remove this. We don't want to edit paths inside flowtext. Instead we will build our flowtext with cloned paths, so that the real paths are outside the flowtext and thus editable as usual.

Member spdc_pen_finish_segment
fixme:

Member spdc_pen_finish_segment
fixme:

Member fit_and_split
fixme:

Member pencil_handle_button_release
fixme: Clean up what follows (Lauris)

Member pencil_handle_motion_notify
fixme: I am not sure whether we want to snap to anchors in middle of freehand (Lauris)

Member spdc_finish_endpoint
fixme: I'd like remove red reset from concat colors (lauris). Still not sure, how it will make most sense.

Member fit_and_split
fixme:

Member pencil_handle_button_release
fixme: Clean up what follows (Lauris)

Member pencil_handle_motion_notify
fixme: I am not sure whether we want to snap to anchors in middle of freehand (Lauris)

Member spdc_finish_endpoint
fixme: I'd like remove red reset from concat colors (lauris). Still not sure, how it will make most sense.

File rdf.cpp
move these to xml/ instead of dialogs/

File rdf.cpp
move these to xml/ instead of dialogs/

Member sp_gradient_ensure_colors
Where is the memory freed?

Member sp_gradient_repr_clear_vector
fixme: This should work, unless we make gradient into generic group.

Member gradient_ref_changed
Fixme: what should the flags (second) argument be? */

Member sp_gradient_child_added
Fixme: should we schedule "modified" here?

Member sp_gradient_init
Fixme: reprs being rearranged (e.g. via the XML editor) may require us to clear the state.

Member sp_gradient_render_vector_line_rgba
Can this be done with 4 byte copies?

Member sp_lineargradient_painter_new
(point 1 above) fixme: I do not know how to deal with start > 0 and end < 1.

Member sp_lineargradient_painter_new
Technically speaking, we map NCOLORS on line [start,end] onto line [0,1]. I almost think we should fill color array start and end in that case. The alternative would be to leave these just empty garbage or something similar. Originally I had 1023.9999 here - not sure whether we have really to cut out ceil int (Lauris).

Member sp_radialgradient_painter_new
fixme: We may try to normalize here too, look at linearGradient (Lauris)

Member sp_radialgradient_painter_new
Problem: What to do, if we have mixed lengths and percentages? Currently we do ignore percentages at all, but that is not good (lauris)

Member sp_stop_set
fixme: We are reading simple values 3 times during build (Lauris).

Member gradient_ref_changed
Fixme: what should the flags (second) argument be? */

Member sp_gradient_child_added
Fixme: should we schedule "modified" here?

Member sp_gradient_ensure_colors
Where is the memory freed?

Member sp_gradient_init
Fixme: reprs being rearranged (e.g. via the XML editor) may require us to clear the state.

Member sp_gradient_render_vector_line_rgba
Can this be done with 4 byte copies?

Member sp_gradient_repr_clear_vector
fixme: This should work, unless we make gradient into generic group.

Member sp_lineargradient_painter_new
(point 1 above) fixme: I do not know how to deal with start > 0 and end < 1.

Member sp_lineargradient_painter_new
Technically speaking, we map NCOLORS on line [start,end] onto line [0,1]. I almost think we should fill color array start and end in that case. The alternative would be to leave these just empty garbage or something similar. Originally I had 1023.9999 here - not sure whether we have really to cut out ceil int (Lauris).

Member sp_radialgradient_painter_new
fixme: We may try to normalize here too, look at linearGradient (Lauris)

Member sp_radialgradient_painter_new
Problem: What to do, if we have mixed lengths and percentages? Currently we do ignore percentages at all, but that is not good (lauris)

Member sp_stop_set
fixme: We are reading simple values 3 times during build (Lauris).

Member sp_item_notify_moveto
effic: skip if mv_g is already satisfied.

Member sp_item_notify_moveto
Reget snappoints, check satisfied.

Member sp_item_notify_moveto
Consider maintaining a set of dirty items.

Member sp_item_notify_moveto
effic: skip if mv_g is already satisfied.

Member sp_item_notify_moveto
Reget snappoints, check satisfied.

Member sp_item_notify_moveto
Consider maintaining a set of dirty items.

Member sp_item_adjust_gradient
FIXME: convert back to bbox units after transforming with the item, so as to preserve the original units.

Member sp_item_write_transform
FIXME: add the same else branch as for gradients below, to convert patterns to userSpaceOnUse as well recursively compensate gradient fill if it's not to be transformed

Member sp_item_adjust_gradient
FIXME: convert back to bbox units after transforming with the item, so as to preserve the original units.

Member sp_item_write_transform
FIXME: add the same else branch as for gradients below, to convert patterns to userSpaceOnUse as well recursively compensate gradient fill if it's not to be transformed

Member sp_lpe_item_perform_path_effect
Investigate the cause of this. For example, this happens when copy pasting an object with LPE applied. Probably because the object is pasted while the effect is not yet pasted to defs, and cannot be found.

Member sp_lpe_item_perform_path_effect
Investigate the cause of this. Not sure, but I think this can happen when an unknown effect type is specified...

Member sp_lpe_item_perform_path_effect
Investigate the cause of this. For example, this happens when copy pasting an object with LPE applied. Probably because the object is pasted while the effect is not yet pasted to defs, and cannot be found.

Member sp_lpe_item_perform_path_effect
Investigate the cause of this. Not sure, but I think this can happen when an unknown effect type is specified...

Member sp_object_get_style_property
fixme: Use proper CSS parsing. The current version is buggy in a number of situations where key is a substring of the style string other than as a property name (including where key is a substring of a property name), and is also buggy in its handling of inheritance for properties that aren't inherited by default. It also doesn't allow for the case where the property is specified but with an invalid value (in which case I believe the CSS2 error-handling behaviour applies, viz. behave as if the property hadn't been specified). Also, the current code doesn't use CRSelEng stuff to take a value from stylesheets. Also, we aren't setting any hooks to force an update for changes in any of the inputs (i.e., in any of the elements that this function queries).

Member sp_object_getAttribute
fixme: Exception if object is NULL? */

Member sp_object_private_write
I'm not sure what to do in this case. Bug #1165868 suggests that it can arise, but the submitter doesn't know how to do so reliably. The main two options are either leave repr's style attribute unchanged, or explicitly clear it. Must also consider what to do with property attributes for the element; see below.

Member sp_object_removeAttribute
fixme: Exception if object is NULL? */

Member sp_object_repr_order_changed
fixme:

Member sp_object_setAttribute
fixme: Exception if object is NULL? */

Member sp_object_tagName_get
fixme: Exception if object is NULL? */

Member sp_object_get_style_property
fixme: Use proper CSS parsing. The current version is buggy in a number of situations where key is a substring of the style string other than as a property name (including where key is a substring of a property name), and is also buggy in its handling of inheritance for properties that aren't inherited by default. It also doesn't allow for the case where the property is specified but with an invalid value (in which case I believe the CSS2 error-handling behaviour applies, viz. behave as if the property hadn't been specified). Also, the current code doesn't use CRSelEng stuff to take a value from stylesheets. Also, we aren't setting any hooks to force an update for changes in any of the inputs (i.e., in any of the elements that this function queries).

Member sp_object_getAttribute
fixme: Exception if object is NULL? */

Member sp_object_private_write
I'm not sure what to do in this case. Bug #1165868 suggests that it can arise, but the submitter doesn't know how to do so reliably. The main two options are either leave repr's style attribute unchanged, or explicitly clear it. Must also consider what to do with property attributes for the element; see below.

Member sp_object_removeAttribute
fixme: Exception if object is NULL? */

Member sp_object_repr_order_changed
fixme:

Member sp_object_setAttribute
fixme: Exception if object is NULL? */

Member sp_object_tagName_get
fixme: Exception if object is NULL? */

Member sp_offset_distance_to_original
Awfully damn stupid method: uncross the source path EACH TIME you need to compute the distance. The good way to do this would be to store the uncrossed source path somewhere, and delete it when the context is finished. Hopefully this part is much faster than actually computing the offset (which happen just after), so the time spent in this function should end up being negligible with respect to the delay of one context.

Member sp_offset_write
Fixme: we may replace these attributes by inkscape:offset="cx cy exp revo rad arg t0"

Member vectors_are_clockwise
FIXME: This can be done using linear operations, more stably and faster. method: transform A and C into B's space, A should be negative and B should be positive in the orthogonal component. I think this is equivalent to dot(A, rot90(B))*dot(C, rot90(B)) == -1. -- njh

Member sp_offset_distance_to_original
Awfully damn stupid method: uncross the source path EACH TIME you need to compute the distance. The good way to do this would be to store the uncrossed source path somewhere, and delete it when the context is finished. Hopefully this part is much faster than actually computing the offset (which happen just after), so the time spent in this function should end up being negligible with respect to the delay of one context.

Member sp_offset_write
Fixme: we may replace these attributes by inkscape:offset="cx cy exp revo rad arg t0"

Member vectors_are_clockwise
FIXME: This can be done using linear operations, more stably and faster. method: transform A and C into B's space, A should be negative and B should be positive in the orthogonal component. I think this is equivalent to dot(A, rot90(B))*dot(C, rot90(B)) == -1. -- njh

Member sp_spiral_fit_and_draw
Get the function itself to decide what value of d to use next: ensure that we move at least 0.25 * stroke width, for example. The derivative (as used for get_tangent before normalization) would be useful for estimating the appropriate d value. Or perhaps just start with a small dstep and scale by some small number until we move >= 0.25 * stroke_width. Must revert to the original dstep value for next iteration to avoid the problem mentioned above.

Member sp_spiral_fit_and_draw
We should use better algorithm to specify maximum error.

Member sp_spiral_get_tangent
Check that this isn't being too hopeful of the hypot function. E.g. test with numbers around 2**-1070 (denormalized numbers), preferably on a few different platforms. However, njh says that the usual implementation does handle both very big and very small numbers.

Member sp_spiral_get_tangent
I haven't checked how important it is for ret to be very near unit length; we could get rid of the below.

Member sp_spiral_position_set
Consider applying CLAMP or adding in-bounds assertions for some of these parameters.

Member sp_spiral_set
fixme: we should really collect updates

Member sp_spiral_set
FIXME: check that value looks like a (finite) number. Create a routine that uses strtod, and accepts a default value (if strtod finds an error). N.B. atof/sscanf/strtod consider "nan" and "inf" to be valid numbers.

Member sp_spiral_set
FIXME: We still need some bounds on arg, for numerical reasons. E.g., we don't want inf or NaN, nor near-infinite numbers. I'm inclined to take modulo 2*pi. If so, then change the knot editors, which use atan2 - revo*2*pi, which typically results in very negative arg.

Member sp_spiral_set
Have shared constants for the allowable bounds for attributes. There was a bug here where we used -1.0 as the minimum (which leads to NaN via, e.g., pow(-1.0, 0.5); see sp_spiral_get_xy for requirements.

Member sp_spiral_fit_and_draw
Get the function itself to decide what value of d to use next: ensure that we move at least 0.25 * stroke width, for example. The derivative (as used for get_tangent before normalization) would be useful for estimating the appropriate d value. Or perhaps just start with a small dstep and scale by some small number until we move >= 0.25 * stroke_width. Must revert to the original dstep value for next iteration to avoid the problem mentioned above.

Member sp_spiral_fit_and_draw
We should use better algorithm to specify maximum error.

Member sp_spiral_get_tangent
Check that this isn't being too hopeful of the hypot function. E.g. test with numbers around 2**-1070 (denormalized numbers), preferably on a few different platforms. However, njh says that the usual implementation does handle both very big and very small numbers.

Member sp_spiral_get_tangent
I haven't checked how important it is for ret to be very near unit length; we could get rid of the below.

Member sp_spiral_position_set
Consider applying CLAMP or adding in-bounds assertions for some of these parameters.

Member sp_spiral_set
fixme: we should really collect updates

Member sp_spiral_set
FIXME: check that value looks like a (finite) number. Create a routine that uses strtod, and accepts a default value (if strtod finds an error). N.B. atof/sscanf/strtod consider "nan" and "inf" to be valid numbers.

Member sp_spiral_set
FIXME: We still need some bounds on arg, for numerical reasons. E.g., we don't want inf or NaN, nor near-infinite numbers. I'm inclined to take modulo 2*pi. If so, then change the knot editors, which use atan2 - revo*2*pi, which typically results in very negative arg.

Member sp_spiral_set
Have shared constants for the allowable bounds for attributes. There was a bug here where we used -1.0 as the minimum (which leads to NaN via, e.g., pow(-1.0, 0.5); see sp_spiral_get_xy for requirements.

Member is_url
FIXME: I'm not sure if this applies to SVG as well, but CSS2 says any URIs in property values must start with 'url('.

Member sp_repr_sel_eng
Check whether we need to register any pseudo-class handlers. libcroco has its own default handlers for first-child and lang.

Member sp_style_clear
fixme: Do that text manipulation via parents

Member sp_style_merge_font_size_from_parent
fixme: SVG and CSS do not specify clearly, whether we should use user or screen coordinates (Lauris)

Member sp_style_merge_from_dying_parent
fixme: We'll need to have more font-related things up the top once we're getting x-height from pango or libnrtype.

Member sp_style_merge_from_dying_parent
We currently treat text-decoration as if it were a simple inherited property (fixme). This code may need changing once we do the special fill/stroke inheritance mentioned by the spec.

Member sp_style_merge_from_dying_parent
Could cause problems if original object was in another document and it used a relative URL. (At the time of writing, we don't allow hrefs to other documents, so this isn't a problem yet.) Paint properties also allow URIs.

Member sp_style_merge_from_dying_parent
fixme: Check that we correctly handle all properties that don't inherit by default (as shown in http://www.w3.org/TR/SVG11/propidx.html for most SVG 1.1 properties).

Member sp_style_merge_from_dying_parent
Think about the issues involved if specified as currentColor or if specified relative to colorProfile, and if the currentColor or colorProfile differs between parent & child. See also comments elsewhere in this function about URIs.

Member sp_style_merge_from_object_stylesheet
Check what errors can occur, and handle them properly.

Member sp_style_merge_from_parent
fixme: Check for existing callers that might pass null parent. This should probably be g_return_if_fail, or else we should make a best attempt to set computed values correctly without having a parent (i.e., by assuming parent has initial values).

Member sp_style_merge_from_parent
fixme: This is unconditional, i.e., happens even if parent not present.

Member sp_style_merge_from_parent
This code looks wrong. Why does the logic differ from the above properties? Similarly dashoffset below.

Member sp_style_merge_length_prop_from_dying_parent
fixme: Have separate ex ratio parameter. Get x height from libnrtype or pango.

Member sp_style_merge_paint_prop_from_dying_parent
I haven't given this much attention. See comments below about currentColor, colorProfile, and relative URIs.

Member sp_style_merge_property
FIXME: not supported properly yet, we just read and write it, but act as if it is always "display".

Member sp_style_merge_property
This is a workaround. Inkscape only supports 'clip-path' as SVG attribute, not as style property. By having both CSS and SVG attribute set, editing of clip-path will fail, since CSS always overwrites SVG attributes. Fixes Bug #324849

Member sp_style_merge_property
See comment for SP_PROP_CLIP_PATH

Member sp_style_merge_rel_enum_prop_from_dying_parent
It's unclear what to do if style and parent specify the same relative directive (narrower or wider). We can either convert to absolute specification or coalesce to a single relative request (of half the strength of the original pair).

Member sp_style_merge_style_from_decl
Ensure that property is lcased, as per http://www.w3.org/TR/REC-CSS2/syndata.html#q4. Should probably be done in libcroco.

Member sp_style_merge_style_from_decl
effic: Test whether the property is already set before trying to convert to string. Alternatively, set from CRTerm directly rather than converting to string.

Member sp_style_paint_server_ref_modified
fixme: I do not know, whether it is optimal - we are forcing reread of everything (Lauris)

Member sp_style_paint_server_ref_modified
fixme: We have to use object_modified flag, because parent flag is only available downstreams.

Member sp_style_paint_server_ref_modified
fixme:

Member sp_style_read
No stylesheet information. Find out under what circumstances this occurs, and handle accordingly. (If we really wanted to, we could probably get stylesheets by going through repr->doc.)

Member sp_style_read
fixme: This is not the prettiest thing (Lauris)

Member sp_style_read_ilength
fixme: Move this to standard place (Lauris)

Member sp_style_read_ilength
Allow the number of px per inch to vary (document preferences, X server or whatever). E.g. don't fill in computed here, do it at the same time as percentage units are done.

Member sp_style_write_difference
fixme: Per type methods need default flag too

Member sp_style_write_difference
fixme:

Member sp_style_write_difference
The reason we use IFSET rather than IFDIFF is the belief that the IFDIFF flag is mainly only for attributes that don't handle explicit unset well. We may need to revisit the behaviour of this routine.

Member sp_style_write_string
Merge with write_difference, much duplicate code!

Member sp_style_write_string
fixme: Per type methods need default flag too (lauris)

Member sp_style_write_string
fixme:

Member is_url
FIXME: I'm not sure if this applies to SVG as well, but CSS2 says any URIs in property values must start with 'url('.

Member sp_repr_sel_eng
Check whether we need to register any pseudo-class handlers. libcroco has its own default handlers for first-child and lang.

Member sp_style_clear
fixme: Do that text manipulation via parents

Member sp_style_merge_font_size_from_parent
fixme: SVG and CSS do not specify clearly, whether we should use user or screen coordinates (Lauris)

Member sp_style_merge_from_dying_parent
fixme: We'll need to have more font-related things up the top once we're getting x-height from pango or libnrtype.

Member sp_style_merge_from_dying_parent
We currently treat text-decoration as if it were a simple inherited property (fixme). This code may need changing once we do the special fill/stroke inheritance mentioned by the spec.

Member sp_style_merge_from_dying_parent
Could cause problems if original object was in another document and it used a relative URL. (At the time of writing, we don't allow hrefs to other documents, so this isn't a problem yet.) Paint properties also allow URIs.

Member sp_style_merge_from_dying_parent
fixme: Check that we correctly handle all properties that don't inherit by default (as shown in http://www.w3.org/TR/SVG11/propidx.html for most SVG 1.1 properties).

Member sp_style_merge_from_dying_parent
Think about the issues involved if specified as currentColor or if specified relative to colorProfile, and if the currentColor or colorProfile differs between parent & child. See also comments elsewhere in this function about URIs.

Member sp_style_merge_from_object_stylesheet
Check what errors can occur, and handle them properly.

Member sp_style_merge_from_parent
fixme: Check for existing callers that might pass null parent. This should probably be g_return_if_fail, or else we should make a best attempt to set computed values correctly without having a parent (i.e., by assuming parent has initial values).

Member sp_style_merge_from_parent
fixme: This is unconditional, i.e., happens even if parent not present.

Member sp_style_merge_from_parent
This code looks wrong. Why does the logic differ from the above properties? Similarly dashoffset below.

Member sp_style_merge_length_prop_from_dying_parent
fixme: Have separate ex ratio parameter. Get x height from libnrtype or pango.

Member sp_style_merge_paint_prop_from_dying_parent
I haven't given this much attention. See comments below about currentColor, colorProfile, and relative URIs.

Member sp_style_merge_property
FIXME: not supported properly yet, we just read and write it, but act as if it is always "display".

Member sp_style_merge_property
This is a workaround. Inkscape only supports 'clip-path' as SVG attribute, not as style property. By having both CSS and SVG attribute set, editing of clip-path will fail, since CSS always overwrites SVG attributes. Fixes Bug #324849

Member sp_style_merge_property
See comment for SP_PROP_CLIP_PATH

Member sp_style_merge_rel_enum_prop_from_dying_parent
It's unclear what to do if style and parent specify the same relative directive (narrower or wider). We can either convert to absolute specification or coalesce to a single relative request (of half the strength of the original pair).

Member sp_style_merge_style_from_decl
Ensure that property is lcased, as per http://www.w3.org/TR/REC-CSS2/syndata.html#q4. Should probably be done in libcroco.

Member sp_style_merge_style_from_decl
effic: Test whether the property is already set before trying to convert to string. Alternatively, set from CRTerm directly rather than converting to string.

Member sp_style_paint_server_ref_modified
fixme: I do not know, whether it is optimal - we are forcing reread of everything (Lauris)

Member sp_style_paint_server_ref_modified
fixme: We have to use object_modified flag, because parent flag is only available downstreams.

Member sp_style_paint_server_ref_modified
fixme:

Member sp_style_read
No stylesheet information. Find out under what circumstances this occurs, and handle accordingly. (If we really wanted to, we could probably get stylesheets by going through repr->doc.)

Member sp_style_read
fixme: This is not the prettiest thing (Lauris)

Member sp_style_read_ilength
fixme: Move this to standard place (Lauris)

Member sp_style_read_ilength
Allow the number of px per inch to vary (document preferences, X server or whatever). E.g. don't fill in computed here, do it at the same time as percentage units are done.

Member sp_style_write_difference
fixme: Per type methods need default flag too

Member sp_style_write_difference
fixme:

Member sp_style_write_difference
The reason we use IFSET rather than IFDIFF is the belief that the IFDIFF flag is mainly only for attributes that don't handle explicit unset well. We may need to revisit the behaviour of this routine.

Member sp_style_write_string
Merge with write_difference, much duplicate code!

Member sp_style_write_string
fixme: Per type methods need default flag too (lauris)

Member sp_style_write_string
fixme:

Member SPCSSDisplay
more display types

Member SPCSSDisplay
more display types

Member arena_handler
fixme.

Member arena_handler
fixme.

Member sp_eraser_toolbox_prep
Convert to boolean?

Member sp_eraser_toolbox_prep
Convert to boolean?

File repr-sorting.h
Functions in this file have non-English names. Determine what they do and rename accordingly.

File repr-sorting.h
Functions in this file have non-English names. Determine what they do and rename accordingly.

Member sp_repr_compare_position
Rewrite this function's description to be understandable

Member sp_repr_compare_position
Rewrite this function's description to be understandable

Generated by  Doxygen 1.6.0   Back to index