2004-02-09  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/path-chemistry.c (sp_selected_path_uncross): Allow uncrossing
	single paths

2004-02-06  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/xml/repr.c (sp_repr_is_cdata): New method
	(sp_repr_new_cdata): Ditto

	* src/xml/repr-io.c (repr_cdata_write): New method
	(sp_repr_svg_read_node): Preserve CDATA
	(sp_repr_write_stream): Ditto

	* src/widgets/sp-xmlview-tree.c (text_content_changed): Support CDATA
	(add_node): Ditto

2004-02-04  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sodipodi.c (sodipodi_load_config): Translate filenames to OS
	encoding
	(sodipodi_init_config): Ditto

2004-02-04  Michael Schumacher <schumaml@cvs.gnome.org>

	* src/Makefile.am: outdented variables in PLATFORM_WIN32 part

2004-02-02  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/modules/ps.c: Use arikkei_strlib, fixes comma bug

	* src/libarikkei/arikkei-strlib.c (arikkei_dtoa_simple): Change
	epsilon properly, so skipping zeroes really works now

2004-02-02  Emile Snyder <emile@alumni.reed.edu>

	* src/modules/ps.c (private_sp_module_print_plain_setup_output): New helper
	(sp_module_print_plain_setup_file): Implement

	* src/module.h: Added ::setup_file virtual method

	* src/print.c (sp_print_document): Ditto

2004-02-01  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/draw-context.c (sp_pencil_context_update_curves): New method
	(sp_pencil_timeout): Ported from dynadraw code
	(sp_pencil_context_root_handler): Use averaged draw and path synthesizer

	* src/helper/bezier-utils.c: Implemented 2-segment path synthesizer

2004-02-02  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/module.c: GnomePrint support without print preview. Is this
	meaningful? At least, we can use PDF printing and PS printing with
	transparency

	* src/Makefile.am: Ditto

2004-02-01  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/xml/repr.c (sp_repr_get_inherited_attr): Removed duplicated
	function

	* src/xml/repr.h: Ditto

	* src/xml/repr-util.c (sp_repr_get_xml_space): Use
	sp_repr_attr_inherited instead

2004-02-01  Mitsuru Oka  <oka326@parkcity.ne.jp>
	
	* src/api.h: KDE building bug reported by Luciano (#883553)

	* src/document.h (sp_document_set_timer): Ditto

	* src/modules/Makefile.am (kde.cpp): Ditto

2004-01-31  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-object.c (sp_object_private_set): Modified to work for
	xml:space attribute unset operation

	* src/xml/repr.h (SPReprXmlSpaceType): New enumeration type
	
	* src/xml/repr.c (sp_repr_get_inherited_attr): New method

	* src/xml/repr-util.c (sp_repr_get_xml_space): New method
	(sp_repr_set_xml_space): New method

	* src/xml/repr-io.c (sp_repr_write_stream): Support XML file
	saving feature for xml:space preserve
	(sp_repr_doc_write_stream): Ditto
	(sp_repr_print): Ditto
	
	* src/sp-text.c (sp_string_read_content): Modified white space
	handling in xml:space compliant manner

2004-01-25  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/style.c (trim_space): New function
	(sp_style_merge_from_style_string): Fixed CSS property space
	handling again in bit better way

2004-01-24  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/style.c (sp_style_merge_from_style_string): Fixed CSS inline
	style white space handling bug, thanks to rindolf

	* src/svg/svg-path.c (rsvg_path_arc): Added raddi correction
	described in Appendix F 6.6, thanks to Infallible for his patch
	(#882348)

2004-01-23  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/libnrtype/nr-glyphs.c (nr_pgl_free): Fixed memory leak

2004-01-21  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-compose.c (nr_R8G8B8A8_P_R8G8B8A8_P_A8_RGBA32): Added
	missing parentheses, thanks to davej

	* src/sp-gradient.c (sp_stop_write): Fixed &/&& bug,
	thanks to davej

2004-01-20  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-pathops.c (nr_node_path_rewind): Works

	* src/verbs.h: Added boolean verbs

	* src/interface.c (sp_ui_selection_menu): Added booleans to menu

	* src/path-chemistry.c (sp_selected_path_uncross): Added
	union, intersection and subtraction operations

2004-01-18  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/path-chemistry.c (sp_selected_path_uncross): New method

	* src/interface.c (sp_ui_selection_menu): Added uncross

	* src/verbs.c: Added SP_VERB_SELECTION_UNCROSS

	* src/verbs.h: Added SP_VERB_SELECTION_UNCROSS

	* src/libnr/nr-pathops.c: Working uncross code

	* src/libnr/nr-pathops.h: Working uncross code

2004-01-18  Changwoo Ryu  <cwryu@debian.org>

	* configure.in: Added "ko" to ALL_LINGUAS.

2004-01-11  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* glade/icons.svg: Added two new icon images for xml:space UI

	* src/dialogs/text-edit.c (sp_text_edit_dialog): xml:space UI for
	text object
	(sp_text_edit_dialog_update_object): xml:space support
	(sp_text_edit_dialog_read_selection): xml:space UI update code

2004-01-11  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: Added "fi" to ALL_LINGUAS, thanks to Jaakko H Kyro

2004-01-11  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/text-context.c (sp_text_context_selection_changed): Previous
	fix was not so good, i.e., empty text was remained.
	
	* src/selection-chemistry.c (sp_selection_delete): So I modified
	this method instead

	* src/sp-text.c (ucs2_concat_ws): New function
	(sp_text_insert): Better text insertion. This change should also
	fix space insertion bug reported by Lynn Kerby

	* src/sp-text.h (SP_STRING_IS_SPACE_PRESERVE): New macro

	* TODO: Updated

2004-01-10  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/text-context.c (sp_text_context_selection_changed):
	Fixed C-x segv bug. It was called sp_repr_unparent twice for empty
	text.

2004-01-09  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-item.c (sp_item_i2root_affine): Do not apply root
	viewbox transform to cascade

2004-01-04  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-text.c: Removed non SP_TEXT_NEW_CONTENT codes

	* src/sp-text.h: Ditto

	* src/testing.h: Ditto

	* src/libnrtype/nr-glyph.c: terminator glyph ID should be
	undefined

	* src/display/nr-arena-glyphs.c: Debugging tools

2004-01-04  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-svp.c (nr_svl_from_path): Use iterators
	(nr_svl_from_art_vpath): Ditto
	(nr_svl_from_art_bpath): Ditto

	* src/libnr/nr-pixblock-line.c (nr_pixblock_draw_path_rgba32): Use path iterators

	* src/libnr/nr-pathops.c (nr_path_setup_from_node_path_group): New structore

	* src/libnr/nr-path.h: New structure, added iterators, added quadratic beziers

	* src/libnr/nr-path.c (nr_path_new_from_art_bpath): New structure
	(nr_path_forall): Basic iterator
	(nr_curve_flatten): Bezier decomposer
	(nr_path_flatten_moveto): Helper
	(nr_path_flatten_lineto): Helper
	(nr_path_flatten_curveto2): Helper
	(nr_path_flatten_curveto3): Helper
	(nr_path_flatten_closepath): Helper
	(nr_path_forall_flat): Flattening iterator
	(nr_path_forall_art): Iterator for libart path
	(nr_path_forall_art_flat): Ditto
	(nr_path_forall_art_vpath): Ditto

	* src/libnr/Makefile.am (INCLUDES): Remove all references to sodipodi

	* src/display/nr-arena-shape.c (nr_arena_shape_finalize): New NRPath
	(nr_arena_shape_update): Ditto

	* configure.in: Added separate libart check for LIBNR_CFLAGS

2004-01-04  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/text-context.c (sp_text_context_root_handler):
	Fixed XIM relate inifinite loop bug
	(sptc_preedit_changed): Fixed a bug which caused when XIM commit
	on new text item

2003-12-29  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/xml/repr-io.c (sp_repr_svg_read_node): Parse nsDef-s inot
	xmlns:prefix attributes
	(sp_repr_do_read): Do not process namespaces separately as these are now
	normal attributes

	* src/document.c (sp_document_get_abstime): New helper
	(sp_document_begin): New method
	(sp_document_end): Ditto
	(sp_document_get_time): Ditto
	(sp_doc_timer_compare): New helper
	(sp_document_add_timer): New method
	(sp_document_remove_timer): Ditto
	(sp_document_set_timer): Ditto
	(sp_document_idle_handler): Moved here
	(sp_document_schedule_timers): New helper

	* src/sp-defs.c (sp_defs_remove_child): Detach child properly, removes
	warning about invalid object

2003-12-28  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sodipodi.c (sodipodi_eventcontext_set): Handle action
	activation/desactivation here instead of toolbox

2003-12-27  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-gradient.c (sp_gradient_set_units): Mark units as set

2003-12-24  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-text.c (sp_string_set_shape): Fixed bug which was lack of
	incrementing cp value

2003-12-23  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/event-context.c (menu_position_handler): New function
	(sp_event_root_menu_popup): Make menu popup easy and usable
	
	* src/sp-text.c: Full support for SP_TEXT_NEW_CONTENT, we can handle
	text object as UCS string/NRPGL glyph string
	(sp_repr_set_content_ucs2): New function

	* src/sp-text.h (SPStirng::pgl): New stuff

	* src/libarikkei/arikkei-strlib.c (arikkei_ucs2_strncpy): New
	function

	* src/libarikkei/arikkei-strlib.h: Ditto

	* src/libnrtype/nr-glyphs.c (nr_pgl_set_origin): New method

	* src/libnrtype/nr-glyphs.h: Ditto

2003-12-23  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/api.h: New file

2003-12-22  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/libnr/nr-rect.c (nr_rect_d_translate_xy): New function
	(nr_rect_f_translate_xy): Ditto

	* src/libnr/nr-rect.h: Ditto

	* src/libnrtype/nr-glyphs.c (nr_pgl_new_from_string): Fixed to
	calculate union area correcly

	* src/libnrtype/nr-glyphs.h (NRPGL::origin): New member variable

2003-12-18  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/sp-ctrlline.c (sp_ctrlline_render): Use pixblock-line
	(sp_ctrlline_update): Ditto

	* src/libnr/nr-pixblock-line.c (nr_pixblock_draw_line_rgba32): Try clipping

2003-12-18  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/main.c (main): Add --display argument check if we use gui

2003-12-16  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/module.c (sp_modules_init): Fixed argv extra indirection bug

	* src/main.c (sp_main_console): Do not try to initialize Gdk

	* src/libnrtype/nr-type-xft.c (nr_type_xft_init): Support fontconfig

2003-12-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/style.h: Added currentcolor field to paint and
	color inheritable attribute to style

	* src/style.c (sp_style_merge_ipaint): Support currentColor
	(sp_style_merge_from_parent): Parse color and currentColor

2003-12-14  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-object.h: Changed signature of ::remove_child, added
	blocked flag

	* src/sp-object.c (sp_object_repr_remove_child): Fail if blocked

	* src/object-ui.c (sp_item_apply_transformation): New method
	(sp_item_menu): Added 'Apply transformation'

	* src/dialogs/export.c (sp_export_progress_callback): New method
	(sp_export_export_clicked): Added progress dialog

2003-12-12  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-text.c: (sp_string_set_shape):
	Fixed a memory leak bug which caused with SP_TEXT_NEW_CONTENT

2003-12-12  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/export.c (sp_export_dialog): Added background
	color picker

	* src/widgets/sp-color-preview.c (sp_color_picker_get_type): New
	widget type
	(sp_color_preview_paint): Allow toggling transparent/opaque areas
	(sp_color_preview_new): Signature change

2003-12-11  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-stroke.c (nr_bpath_stroke_bbox_union): Implement

2003-12-10  John Stracke  <francis@REMOVE_THISthibault.org>

	* src/dialogs/export.c (sp_export_area_toggled): Use visual bbox

	* src/sp-shape.c (sp_shape_bbox): Use visual bbox, if requested

	* src/sp-marker.c (sp_marker_union_bbox): New method

2003-12-07  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/xml/repr-util.c (sp_repr_lookup_child_by_name): New method

	* src/main.c (sodipodi_segv_handler): Moved here

	* src/modules/gnome.c (sp_module_print_gnome_write): Implement

	* src/modules/kde.cpp (sp_module_print_kde_write): Implement

	* src/modules/win32.c (sp_module_print_win32_write): Implement

	* src/modules/ps.c (sp_module_print_plain_write): Implement

	* src/module.c (sp_modules_menu_new): New method
	(sp_modules_menu_about_new): Ditto
	(sp_modules_menu_append_node): Ditto
	(sp_modules_menu_about_append): Ditto
	(sp_modules_menu_action_append): Ditto
	(sp_modules_menu_action_activate): Ditto
	(sp_modules_init): Register everything internal
	(sp_module_setup): New method
	(sp_module_write): Ditto

2003-12-04  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/desktop.c (sp_desktop_prepare_shutdown): Fixed a bug which
	is caused when application exit, if text selection is empty in
	text-context
	
	* src/sodipodi.c (DESKTOP_IS_ACTIVE): Improved robustness

	* src/sp-text.c: src/sp-text.h (sp_string_release):
	New text content stuff which works with SP_TEXT_NEW_CONTENT macro
	(sp_string_read_content): Ditto
	(sp_string_set_shape): Ditto
	(sp_text_get_cursor_coords): Ditto

	* src/libnrtype/nr-glyphs.c (nr_pgl_new_from_string): Add
	terminator glyph

	* src/libnrtype/nr-glyphs.h (NRPosGlyph): Add typedef

2003-11-30  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: Version 0.33

	* src/libarikkei/arikkei-iolib.c: New file

	* src/libarikkei/arikkei-iolib.h: New file

2003-11-29  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/xml/repr-io.c (sp_repr_svg_read_node): Fixed preserve bug.

2003-11-28  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/display/nr-arena-image.c (nr_arena_image_init): Mark
	render_opacity

	* src/widgets/button.h: Added SELECT mode

	* src/widgets/button.c (sp_button_button_release): Ditto
	(sp_button_menu_selection_done): Ditto

2003-11-27  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/align.c (sp_quick_align_dialog): Fixed tooltip typo

2003-11-26  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/document-undo.c (sp_document_undo): Begin transaction
	even if current list is empty (fixes disappearing undo bug)
	(sp_document_redo): Ditto

2003-11-23  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libarikkei/arikkei-strlib.c: New file, implement localeless
	strtod and dtostr here

	* src/libarikkei/arikkei-strlib.h: New file

2003-11-15  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-object.c (sp_object_build): Parse xml:space
	(sp_object_private_set): Ditto
	(sp_xml_get_space_string): New helper
	(sp_object_private_write): Write xml:space

	* src/sp-object.h: Added xml:space attribute

	* src/sp-text.c: Handle xml:space

	* src/xml/repr-io.c: Parse xml:space

2003-11-20  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/desktop-properties.c (sp_dtw_update): Added page and
	border colors

	* src/sp-namedview.c (sp_namedview_set): Parse page and border colors

	* src/desktop.c (sp_dt_namedview_modified): Set page and border colors

2003-11-18  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/sp-canvas.h: Use NRPixBlock in canvas buffer

2003-11-16  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-types.h: Separate cases for HAVE_INTTYPES_H,
	HAVE_NR_CONFIG_H and remaining (i.e. Win32)

	* src/libnr/nr-compose.c: Wrap config.h into HAVE_CONFIG_H

	* src/libnr/nr-compose-transform.c: Ditto

	* src/dialogs/transformation.c (sp_transformation_dialog_new): Added
	'Apply to duplicate' checkbox
	(sp_transformation_dialog_apply): Test for duplication
	(sp_transformation_page_move_new): Removed relative checkbox, instead
	all moves are relative now

	* src/selection-chemistry.c (sp_selection_scale_relative): Signature
	change, support duplication
	(sp_selection_rotate_relative): Ditto
	(sp_selection_move_relative): Ditto

	* src/interface.c (sp_ui_edit_menu): Added SP_VERB_EDIT_REPEAT

	* configure.in: Check for inttypes.h header (i.e. ISO C 99)

	* src/sodipodi.c (sodipodi_verb_perform): Save config

	* src/selection-chemistry.c (sp_selection_action_perform): Moved here
	(sp_selection_perform_transform): New handler
	(sp_selection_apply_affine): Set last action and call TRANSFORM metaverb

	* src/verbs.h: Added TRANSFORM and REPEAT metaverbs

	* src/sp-item.c (sp_item_write_transform): Set transform and read attribute
	back here, instead of relying on implementations

	* src/dialogs/object-properties.c (sp_object_properties_layout): Present
	window if already existing
	(sp_object_layout_any_value_changed): Use new transformation signature

2003-11-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/spw-utilities.c (sp_config_check_button_new): New
	helper, builds widget that follows and triggers config tree mutations

	* src/selection-chemistry.c (sp_cycle_is_global): Read config
	value from sodipodi config tree
	(sp_cycle_keep_focus): Ditto
	(sp_selection_item_next): Use config tree
	(sp_selection_item_prev): Ditto

	* src/select-context.c (sp_select_context_config_widget): Added
	TAB cycling settings

	* src/helper/action.h (sp_action_set_shortcut): Changed ::perform
	signature, so we can attach configuration data to actions

	* src/modules/mlview/Makefile.am: This is mostly placeholder by
	now, but brave peole may try to get it compiling

2003-11-15  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* Fixed input method bug completely. The bug was (1)
	preedit_string was leaked, so (2) tc->text length was broken.

	* src/text-context.c: (sp_text_context_preedit_reset): New method
	(sp_text_context_root_handler): Add sp_text_context_preedit_reset
	(sp_text_context_foget_text): Ditto
	(sptc_commit): Ditto
	(sptc_preedit_changed): Replace by sp_text_context_preedit_reset

2003-11-15  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/text-context.c: Fixed a bug which caused segmentation fault
	when using input method.

2003-11-12  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/document.c: (sp_document_get_version): Add pointer guard.

	* src/sp-gradient.c (sp_gradient_build):
	Moved sp_object_read_attr to pre build-children, so we can access
	attribute value from children while building itself

	* src/sp-pattern.c (sp_pattern_build): Ditto
	
	* src/sp-text.c (sp_text_build): Ditto
	(sp_tspan_build): Ditto

2003-11-10  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-pathops.c: Handful of new code

2003-11-08  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/document.h: (SP_VERSION_*): Moved from sp-object.h again
	(sp_document_get_version): Moved from sp-object.h

	* src/document.c: (sp_document_get_version): Moved from sp-object.c
	Thanks Lauris for your advice.

2003-11-08  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-object.h: (SP_VERSION_*): New enum type
	(sp_object_get_version): New method come from sp-text.c

	* src/sp-object.c: (sp_object_get_version): New method,
	I'll rewrite sp-text later.

2003-11-05  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-object.h: Put generic children link here

	* src/sp-object.c (sp_object_invoke_children_update): New method
	(sp_object_invoke_children_modified): Ditto

	* src/libnr/nr-stroke.c (nr_svl_stroke_build_finish_subpath): Fail,
	if only one point, fixes crash on miniature paths

2003-11-03  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/text-context.c: (sp_text_context_root_handler): Add
	GDK_Home, GDK_End key binding

	* src/sp-text.c: (sp_text_start_of_line): New method
	(sp_text_end_of_line): New method

	* src/sp-text.h: Ditto

2003-10-31  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnrtype/nr-glyphs.h: New file

	* src/libnrtype/nr-glyphs.c: New file

	* src/libnr/nr-pathops.h: New file (do not look!)

	* src/libnr/nr-pathops.c: New file (do not look!)

	* src/libnr/nr-path.c (nr_path_setup_from_art_bpath): New method
	(nr_path_release): Ditto

	* src/libnr/nr-path.h: NRPath datatype

	* src/display/nr-arena-shape.c (nr_arena_shape_update): Added test
	for new NRPath datatype

	* src/sp-text.c (sp_string_release): UCS2 content testing
	(sp_string_read_content): Ditto
	(sp_string_calculate_dimensions): Ditto
	(sp_string_set_shape): Ditto

	* src/sp-text.h: Added preliminary UCS2 content fields

2003-10-26  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* sodipodi.prj: Add Anjuta project file
	
	* .cvsignure: Add Anjuta workspace file and backup file

2003-10-25  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/libnrtype/nr-type-gnome.h
	(nr_typeface_gnome_get_type): Fixed to work with GnomePrint

	* src/libnrtype/nr-type-gnome.c
	(nr_typeface_gnome_get_type): Ditto

	* .cvsignore: Arrengement
	
	* src/.cvsignore: Add spsvgview

2003-10-23  Ted Gould  <ted@gould.cx>

	* src/*/Makefile.am: Changing the include paths to make distcheck
	get closer to passing.

2003-10-22  Ted Gould  <ted@gould.cx>

	* configure.in: Changing version to 0.32-hydra1.  This is after
	much discussion and serious contemplation (okay, we never really
	got out the magic eight ball).

2003-10-22  Ted Gould  <ted@gould.cx>

	* src/dialogs/desktop-properties.c, src/widgets/spw-utilities.c,
	src/widgets/spw-utilities.h: Cleaning up desktop properties by
	abstracting things into functions.  This patch was written by
	Bryce Harrington and is tracker entry #822497.

2003-10-22  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* Support `white space handling' in SVG text.
	
	* src/sp-text.c (sp_string_set_shape): Implement xml_space attribute.
	(sp_string_calculate_dimensions): Implement xml_space attribute.

	* src/attribute.c: Add SP_ATTR_XML_SPACE attribute.

2003-10-21  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-text.c (sp_text_sequence): Implement

	* src/sp-pattern.c (sp_pattern_sequence): Implement

	* src/sp-object.c (sp_object_invoke_sequence): Rename and signature change

	* src/sp-object-group.c (sp_objectgroup_sequence): Implement

	* src/sp-item-group.c (sp_group_sequence): update

	* src/sp-gradient.c (sp_gradient_sequence): Implement

	* src/sp-defs.c (sp_defs_sequence): Implement

	* src/selection-chemistry.c (sp_selection_item_next): Cleanup
	(sp_selection_item_prev): Ditto

	* src/document.c (sp_document_object_sequence_get): New method

	* src/desktop.c (sp_desktop_scroll_absolute_center_desktop): New method
	(sp_desktop_scroll_relative_canvas): Renamed

2003-10-21  Ted Gould  <ted@gould.cx>

	* src/interface.c: Changing it so there is an Open Recent menu on
	the Sodipodi menu and the toolbar menu.  This removes some clutter
	in the menu.  This is tracker entry #820223 and the author is
	unknown.

2003-10-21  Ted Gould  <ted@gould.cx>

	* src/dialogs/text-edit.c: Make it so that changes can be applied
	to multiple blocks of text.  This patch was submitted by Petr
	Kovar and is tracker #816676.

2003-10-19  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/node-context.c (sp_node_context_root_handler): Catch delete, so
	default action does not destroy selected object

2003-10-17  Ted Gould  <ted@gould.cx>

	* src/dialogs/object-properties.c: Applying a patch by Lynn Kerby
	which is tracker number 799363.  This makes it so that if just
	the units are changed the object does not get updated.

2003-10-16  Ted Gould  <ted@gould.cx>

	* src/Makefile.am: Adding the modules to the linking of the
	spsvgview executable.  This fixes the KDE build.  This was tracker
	issue 819963 but unfortunately we don't know who submitted it.

2003-10-15  Ted Gould  <ted@gould.cx>

	* configure.in: Adding a -hydra to the version number.

2003-10-15  Ted Gould  <ted@gould.cx>

	* Changelog: Applying the patch from Mental to do transactions
	in the XML.  It is tracker number: 819745.  More info to follow
	which is (written by Mental)

	* src/document-private.h: removed old SPAction struct and 
	modified SPDocumentPrivate to use new SPReprAction type

	* src/document-undo.c: removed all sp_action stuff,
	sp_document_priv_done(), and all repr callbacks
	(sp_document_set_sensitive): start/suspend transactions on Repr 
	document
	(sp_document_done): now just a wrapper for
	sp_document_maybe_done(), of which it is a special case
	(sp_document_maybe_done): use new transaction facility, and 
	properly trim undo list size to MAX_UNDO
	(sp_document_cancel): new SPDocument method for aborting (and 
	undoing) current operation
	(sp_document_undo, sp_document_redo): rewritten for transactions

	* src/document.c (sp_document_init): updated SPDocumentPrivate
	initialization
	(sp_document_destroy): clean up partial action list
	(sp_document_idle_handler): removed undo stack warning
	(sp_document_warn_undo_stack): removed

	* src/document.h: added sp_document_cancel()

	* src/sp-object.c (sp_object_invoke_build): minor cleanup
	(sp_object_repr_child_added, sp_object_repr_remove_child, 
	sp_object_repr_order_changed, sp_object_repr_attr_changed,
	sp_object_repr_content_changed): removed calls to document 
	callbacks

	* src/dialogs/xml-tree.c: enabled delete button for _all_ 
	attributes [I later plann on enabling/disabling it based on
	a call to the repr's change_attr veto callback]
	(after_tree_move): roll back the transaction if the node
	didn't want to be moved
	(on_attr_select_row_enable): used to be 
	on_attr_select_row_enable_if_not_id()
	(cmd_indent_node, cmd_unindent_node): removed usage of 
	sp_repr_move in favor of simple operations with transactions

	* src/widgets/sp-xmlview-tree (repoint_nodes): no longer needed
	(add_node): switched to an if cascade instead of a switch 
	statement, since SP_REPR_TYPE (repr) is no longer an integer
	(tree_move): use simple operations instead of sp_repr_move

	* src/xml/Makefile.am: added sp-action.c to build

	* src/xml/repr-action.c, src/xml/repr-action.h: transaction
	logging facility for reprs using linked lists of SPReprAction
	structs (conceptually, logs)

	* src/xml/repr-private.h: introduced SPReprClass for different
	node types and added SPRepr::doc field for doc pointer.
	SPReprDoc is now a proper subclass of SPRepr.

	* src/xml/repr-util.c (sp_repr_move, sp_repr_transfer_ids):
	removed

	* src/xml/repr.c: added logging macros and SPRepr subclassing

	* src/xml/repr.h: removed sp_repr_move()

2003-10-12  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnrtype/nr-type-directory.c (nr_type_read_private_list): Test
	for > 1 tokens, fixes potential crash

	* src/libnrtype/nr-type-primitives.c: Make type dict frontend
	to ArikkeiDict

	* src/libarikkei/arikkei-dict.c: Implement

2003-10-09  Ted Gould  <ted@gould.cx>

	* src/libnrtype/nr-type-directory.c: Applying a patch to
	fix the compile from Vitaly Lipatov.

2003-10-08  Ted Gould  <ted@gould.cx>

	* glade/icons.svg src/nodepath.c src/nodepath.h
	src/toolbox.c src/dialogs/node-edit.c src/dialogs/node-edit.h:
	Adding another patch from Bob Jamison which is in the tracker
	under 819054.  This patch adds an alternate join function.  It
	also adds this function to the tool box with an icon.

2003-10-08  Ted Gould  <ted@gould.cx>

	* src/.cvsignore: Adding in spsvgview for cleaner diff's

2003-10-08  Ted Gould  <ted@gould.cx>

	* src/dialogs/item-properties.c: Submitting a patch from
	Bob Jamison which is in the tracker under 819043.  This adds
	the ID to the item properties dialog.

2003-10-06  Ted Gould  <ted@gould.cx>

	* Changelog: Start of the hydra-october branch

2003-10-06  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libarikkei/Makefile.am: New stuff from ariariki

	* src/libnrtype/nr-type-xft.c (nr_type_read_xft_list): Moved here

	* src/libnrtype/nr-type-directory.c (nr_type_build): From ariariki
	(nr_type_read_private_list): Use libarikkei tokenizer
	(nr_type_register): Made public

	* src/libnrtype/Makefile.am: Added libarikkei stuff

	* configure.in: Added libarikkei/Makefile

2003-09-18  Mitsuru Oka <oka@mediasite.co.jp>

	* Initial IA-64 Linux support.

	* libnr/nr-object.h defined new type NRType.

	* src/desktop.c ... src/modules/win32.h ... many files:
	modified all of the unsigned int GObject type by GType and
	unsigned int NRObject type by NRType.

2003-08-17  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnrtype/nr-type-ft2.c (nr_typeface_ft2_setup): Check whether font
	has assigned code points on BMP private area
	(nr_typeface_ft2_lookup): Map BMP private area directly to glyph index only
	if it is free, use planes F and 10 for direct mapping

2003-08-17  Danilo Šegan  <dsegan@gmx.net>

	* configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS.

2003-07-23  Dmitry G. Mastrukov  <dmitry@taurussoft.org>

	* configure.in: Added Belarusian to ALL_LINGUAS.

2003-07-21  Christian Neumair  <chris@gnome-de.org>

	* src/verbs.c: Fix another typo (preciely->precisely).

2003-07-21  Christian Neumair  <chris@gnome-de.org>

	* src/widgets/paint-selector.c: Fix a typo (colospace->Colorspace).

2003-07-15  Masatake YAMATO  <jet@gyve.org>

	* src/helper/sp-ctrlline.h: Fix a typo(x2->x1).

2003-07-12  Yukihiro Nakai  <ynakai@redhat.com>

	* src/text-context.c (sptc_preedit_changed): New signal handler
	(sp_text_context_setup): Connect "preedit_changed" signal
	(sp_text_context_root_handler): Return TRUE (needed for Gtk+ IM)

	* src/verbs.c (sp_verbs_init): Wrap action name and tip into _()

2003-07-11  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/event-context.c (sp_event_context_private_root_handler): Handle
	GDK_SCROLL (thanks to Tomas Znamenacek)

	* src/xml/repr-util.c (sp_xml_dtoa): Do not print trailing zeroes

	* src/xml/repr.c (sp_repr_document_new): Removed ATTLIST xmlns:xlink

	* src/libnr/nr-svp-private.h: New file

2003-07-09  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-stroke.c: Implement most functionality

	* src/libnr/nr-svp-uncross.c (nr_svl_uncross_full): Process some corner cases
	properly

2003-07-07  Masatake YAMATO  <jet@gyve.org>

	* src/shortcuts.c (sp_shortcut_table_load): set shortcut
	for SP_VERB_EDIT_SELECT_ALL.
	
	* src/selection-chemistry.[ch] (sp_edit_select_all): New function.

	* src/verbs.c (sp_verb_action_edit_perform): Added case
	SP_VERB_EDIT_CLEAR_ALL and SP_VERB_EDIT_SELECT_ALL.
	(SP_VERB_IS_EDIT): Extended to SP_VERB_EDIT_SELECT_ALL.

2003-07-04  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/svg/svg-length.c (sp_svg_length_set): New method

	* src/sp-spiral.c (sp_spiral_write): Write path here

	* src/sp-image.c (sp_image_repr_read_image): Treat NULL docbase as current directory

	* src/sp-gradient.c (sp_gradient_write): Merged code with flatten_attribute
	(sp_lineargradient_write): Ditto
	(sp_radialgradient_write): Ditto

	* src/rect-context.c (sp_rect_context_root_handler): Get motion hints

	* src/helper/sp-canvas.c (SP_CANVAS_UPDATE_PRIORITY): Use higher priority

	* src/document.c (SP_DOCUMENT_UPDATE_PRIORITY): Use higher priority

2003-06-30  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnrtype/nr-type-ft2.c (nr_typeface_ft2_glyph_outline_get): Do not
	load outlines multiple times, fixes serious memleak

2003-06-28  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/text-edit.c (sp_text_edit_dialog): Added line spacing combo
	(sp_text_edit_dialog_update_object): Update line spacing
	(sp_text_edit_dialog_read_selection): Update control

	* src/sp-text.c (sp_text_set): Parse "sodipodi:linespacing"
	(sp_text_set_shape): Use line spacing

	* src/attributes.c: Added "sodipodi:linespacing"

2003-06-27  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/desktop-properties.c (sp_dtw_border_layer_toggled): New callback
	(sp_desktop_dialog_new): Added border layer
	(sp_dtw_update): Track border layer

	* src/spsvgview.c: Implement slideshow

	* src/sp-namedview.c (sp_namedview_set): Track borderlayer

	* src/desktop.c (sp_desktop_new): Add page border directly to
	main group
	(sp_dt_namedview_modified): Track border layer

	* src/attributes.c: Added "borderlayer"

2003-06-22  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-pattern.c (sp_pattern_update): Implemented, patterns show up again
	(sp_pattern_painter_new): Painter is not GObject anymore, fixes crash
	(sp_pattern_painter_free): Ditto

	* src/sp-root.c: Removed namedview tracking

	* src/sp-object-repr.c (sp_object_type_lookup): Do not register GUI types
	(sp_object_type_register): New method

	* src/sp-namedview.c (sp_document_namedview): Moved it here to clean
	up dependency chain

	* src/sp-item-group.c (sp_item_group_get_child_by_name): New method

	* src/main.c (sp_main_gui): Register GUI object types
	(sp_main_console): Ditto

	* src/document.c (sp_document_create): Check for namedview using name only

	* src/Makefile.am (spsvgview_SOURCES): Uncommented spsvgview

	* src/libnr/nr-object.c: Use listener arrays instead of lists

2003-06-20  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: Version 0.33pre

2003-06-19  Masatake YAMATO  <jet@gyve.org>

	* src/dialogs/desktop-properties.c (sp_color_picker_clicked): Enable "Close"
	button.
	(sp_color_picker_window_close): New function.

2003-06-18  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/object-properties.c (sp_object_properties_dialog_destroy): Disconnect
	signals here, fixes crash

2003-06-18  Masatake YAMATO  <jet@gyve.org>

	* src/toolbox.c (sp_toolbox_*_create): passed tt to 
	sp_toolbox_new.

	* src/dialogs/align.c (sp_align_add_button): passed a 
	GtkTooltips object to sp_button_new_from_data.
	(sp_quick_align_dialog): created a new GtkTooltips object
	and passed it to sp_align_add_button.

	* src/widgets/sp-toolbox.c (sp_toolbox_new): passed a
	GtkTooltips object to sp_button_new_from_data.
	Fix a spelling miss.

	* src/widgets/sp-toolbox.h (sp_toolbox_new): passed a 
	GtkTooltips object.

2003-06-17  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-image.c (sp_image_set): Fix potential crash
	(sp_image_update): Move code here, so canvas items do not dereference
	destroyed pixbuf data

	* src/seltrans.c (sp_sel_trans_handle_request): Reverse shift behaviour for
	rotation (thanks to Pat)

2003-06-16  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/verbs.c: Added 'print direct' option

	* src/interface.c (sp_ui_file_menu): Added print direct if needed

	* src/toolbox.c (sp_toolbox_file_create): Compose print + print direct if needed

2003-06-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/modules/ps.c (sp_module_print_plain_setup): Added bitmap/ps choice and
	preferred bitmap resolution selector
	(sp_module_print_plain_finish): If user prefers bitmap printing, composite
	full page from NRArena here

2003-06-13  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/event-context.c (sp_event_context_private_root_handler): Removed
	desktop dialog double-click binding

	* src/widgets/icon.c (sp_icon_new_scaled): New method
	(sp_icon_new_full): Refactored static method
	(sp_icon_image_load_svg): Use scale factor

	* src/xml/repr-io.c (sp_repr_do_read): Unref node after attaching
	(sp_repr_svg_read_node): Ditto

	* src/xml/repr.c (sp_repr_document_new): Ditto

2003-06-12  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/modules/ps.c: Ported Ascii85 filter from The GIMP

2003-06-09  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/modules/kde.cpp (sp_kde_get_save_filename): New method
	(sp_kde_get_write_filename): New method
	(sp_kde_get_open_filename): Use dir/filter/title

	* src/file.c (sp_file_open_dialog): Use KDE file dialog if WITH_KDE
	(sp_file_save_dialog): Ditto
	(sp_file_import): Ditto

2003-06-05  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/print.c: Only high-level stuff

	* src/modules/gnome.c: Moved gnome print frontend here

	* src/modules/ps.*: Moved plain print frontend here

2003-05-25  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-item.h: Removed ::menu and ::knot_holder virtual methods

	* src/object-edit.c: New file, collect all knotholder methods from
	item implementations here

	* src/object-edit.h (sp_item_knot_holder): New file

	* src/object-ui.c: New file, collect all Gtk related methods from
	object implementations here

	* src/object-ui.h (sp_object_menu): New file

2003-05-24  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/print.c (sp_print_preview_document): Use ::set_preview if present

	* src/module.h: Added virtual methof for setting preview

	* src/helper/kde.cpp (sp_module_print_kde_finish): Got working
	(sp_module_print_kde_set_preview): New method

2003-05-18  Hans Breuer  <hans.breuer.org>

	* src/monostd.h : (new file) some defines and includes
	mostly to make up the WIN32 lack of unistd.h

	* config.h.win32 src/makefile.msc src/*/makefile.msc :
	(new files) to build Sodipodi on win32 with M$ toolchain

	* src/winmain.c : (new file) WinMain in it's own file simply 
	calling main()
	* src/main.c : build the common main() for win32 too

	* src/sodipodi.rc : (new file) to compile in the application
	icon on win32

	* src/file.c : use G_DIR_SEPARATOR[_S] instead of '/' ["/"]
	make the file selection work better on win32

	* src/sp-image.c : read images defined by xlink:href="file://...

	* src/sodipodi.c : #inculed "monostd.h" to get S_ISDIR and 
	S_ISREG on win32

	* src/libnr/nr-values.h : when building as DLL exporting 
	variables is quite ugly. Define some constant matrices as
	static for win32 to avoid exporting.

	* src/libnrtype/nr-type-directory.c : #include <io.h> 
	for win32::open() etc.

	* src/libnrtype/nr-type-w32.c : #ifdef HANGUL_CHARSET,
	older SDK headers don't have it

	* src/libnrtype/nr-type-w32.H : #define WIN32_LEAN_AND_MEAN
	before including <windows.h> to reduce namespace pollution

	* src/svg/svg-length.c : #include <config.h> to get WIN32

	* src/widgets/icon.c : S_ISREG, S_ISDIR

	* src/xml/sp-xml.def src/svg/sp-svg.def
	  src/libnr/sp-libnr.def src/libnrtype/sp-libnrtype.def :
	(new files) to export functios from modules built as DLLs

	* src/helpers/gnome-utils.c(gnome_uri_list_extract_filenames) :
	use g_filename_from_uri()
	* src/toolbox.c src/interface.c : don't leak the uri list

	* src/xml/repr-util.c : use g_strcasecmp for portability
	* src/svg/svg-length.c : ... and g_snprintf

2003-05-18  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-item.c (sp_item_invoke_print): Only if item is printable

	* src/display/nr-arena-item.c (nr_arena_item_set_visible): New method
	(nr_arena_item_invoke_render): Honour visibility

	* src/dialogs/item-properties.c (sp_item_widget_printability_toggled): Implement

	* src/sp-item.c (sp_item_set): Added "sodipodi:printable" attribute

2003-05-14  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/button.c (sp_button_set_composed_tooltip): Add primary shortcut
	dynamically to tooltip

2003-05-13  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/toolbox.c (sp_maintoolbox_create_toplevel): Use sp_window_new

	* src/helper/window.c: New file, implement shortcut processing

	* src/helper/window.h: New file

2003-05-12  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/text-context.c (sp_text_context_forget_text): Set object to
	NULL before destroying, so resulting selection::changed does not mess up

	* src/selection-chemistry.c: Removed undo and redo frontends

	* src/shortcuts.c: Moved shortcut code here

2003-05-11  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/zoom-context.c: Removed bogus zoom ui handlers

	* src/sodipodi.c (sodipodi_init): Initialize some shortcuts

	* src/toolbox.c (sp_toolbox_button_clicked): New callback
	(sp_toolbox_button_new_from_verb): New method
	(sp_toolbox_zoom_create): Use verbs

	* src/interface.c (sp_ui_menu_activate): Universal callback
	(sp_ui_menu_append_item_from_verb): New method
	(sp_ui_view_menu): Use verbs for zoom menu items

	* src/event-context.c (sp_event_context_private_root_handler): Use actions for
	certain keycodes

	* src/verbs.c: New file

	* src/verbs.h: New file

	* src/helper/action.c: New file

	* src/helper/action.h: New file

2003-05-07  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-svp-uncross.c (nr_svl_uncross_full): Break slice endpoints if
	there can be potential crossing

2003-05-06  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-svp-render.c (nr_svp_render): Fix some running sum problems

2003-05-04  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnrtype/nr-rasterfont.c (nr_rasterfont_generic_glyph_mask_render): Render
	using NRSVP and mask OR
	(nr_rasterfont_ensure_glyph_slot): Build NRSVP

2003-05-03  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/Makefile.am: Removed art-utils.h

	* src/libnr/nr-svp.c (nr_svl_build_finish_segment): New helper
	(nr_svl_build_moveto): Ditto
	(nr_svl_build_lineto): Ditto
	(nr_svl_build_curveto): New helper
	(nr_svl_from_art_vpath): Use NRSVLBuild
	(nr_svl_from_art_bpath): New method

2003-05-02  Lauris Kaplinski  <lauris@kaplinski.com>

	* sodipodi.desktop.in: Updated by Michael Terry

2003-05-01  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/svg/svg-length.c (sp_svg_number_write_d): Fixed rounding overflow

2003-05-01  Christian Schaller <Uraeus@gnome.org>
	* Fixed up desktop.in file to conform to latest freedesktop standard
	* Fixed up spec.in file to actually work
	* Added missing extensions-skeleton.h to makefile
	* Added spec file to EXTRA_DIST

2003-05-01  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/display/nr-arena-item.c (nr_arena_item_children): Return correct
	value (thanks to MentaLguY)

2003-04-29  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-svp.h: Use more compact format for segments

	* src/libnr/nr-svp.c (nr_svp_from_svl): Use max segment length

2003-04-28  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-svp-render.c (nr_svp_render): New method
	(nr_pixblock_render_svp_mask_or): New method
	(nr_pixblock_render_svl_mask_or): Renamed old one
	(nr_svl_render): Ditto

	* src/libnr/nr-svp.c (nr_svp_point_wind): Implement
	(nr_line_point_distance2): Helper
	(nr_svp_point_distance): Ditto
	(nr_svp_from_svl): New method, implemented packed format and
	renamed old one to S(orted)V(ertex)L(ist)
	(nr_svp_free): Ditto

	* src/display/nr-arena-shape.h: Port all basics to NRSVP

2003-04-27  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/knotholder.c (knot_ungrabbed_handler): Flush object here

	* src/xml/repr-util.c (sp_xml_dtoa): Take '-' into accounti if
	copying integral part

	* src/svg/svg-length.c (sp_svg_length_update): New method

	* src/sp-spiral.c (sp_spiral_update): New method

	* src/sp-star.c (sp_star_update): New method

	* src/sp-ellipse.c (sp_genericellipse_update): Use generic ::set_shape

	* src/sp-rect.c (sp_rect_update): Use generic ::set_shape

2003-04-24  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-svp-uncross.c (nr_svp_uncross_full): Concat segment start only if
	within epsilon, snap intersection point at yslice, if close

2003-04-23  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/sp-color-slider.c (sp_color_slider_paint): Use proper style painters,
	so Gdk/Gtk crash bug does not show up anymore

	* src/xml/repr-io.c (sp_repr_read_file): Substitute entities (by MentaL)
	(sp_repr_read_mem): Ditto

	* src/style.c (sp_style_merge_from_style_string): Complain only if not the end
	of the style string (thanks to MenTaL)

2003-04-22  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/print.c (sp_module_print_plain_begin): Magic by MenTaL

	* src/libnr/nr-svp-uncross.c (nr_svp_uncross_full): Works properly now for
	all stress-tests except zap.

2003-04-18  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/display/nr-arena-shape.c (nr_arena_shape_update): Switch fill
	completely to new renderer
	(nr_arena_shape_render): Ditto, but use masks as before

	* src/libnr/nr-svp-uncross.c (nr_svp_uncross_full): Pass most stress-tests

2003-04-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-svp-render.c (nr_pixblock_render_svp_mask_or): new method
	(nr_pixblock_render_svp_rgba): Frontend, implement for all pixblock modes
	(nr_svp_run_A8_OR): Run callback implementation
	(nr_svp_run_R8G8B8): Ditto
	(nr_svp_run_R8G8B8A8P_EMPTY): Ditto
	(nr_svp_run_R8G8B8A8P_R8G8B8A8P): Ditto
	(nr_svp_run_R8G8B8A8N_R8G8B8A8N): Ditto
	(nr_svp_render): Implement using generic run callbacks

2003-04-14  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-svp-render.c (nr_pixblock_render_svp_rgba): Do runs properly,
	skip if coverage stays 0

2003-04-13  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-svp-render.c: Moved here from old arena code

	* src/libnr/nr-svp-render.h: Ditto

	* src/libnr/nr-svp.c: Ditto

	* src/libnr/nr-svp.h: Ditto

	* src/display/nr-arena-shape.h: Optional experimental new renderer

	* src/libnrtype/nr-typeface.h: Port to NRObject

	* src/display/canvas-arena.c (sp_canvas_arena_init): Use active object
	listener instead of g-signals
	(sp_canvas_arena_destroy): Ditto

	* src/display/nr-arena.h: Derive from NRActiveobject

	* src/display/nr-object.c (nr_object_delete): proper lifecycle management
	(nr_object_setup): Ditto, automatic object
	(nr_object_release): Ditto
	(nr_active_object_get_type): Added NRActiveObject

	* src/display/nr-object.h: Added NRActiveObject

2003-04-12  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/display/nr-object.c: Reimplement in standalone way

	* src/display/nr-object.h: Reimplement in standalone way

2003-04-06  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-marker.c (sp_marker_show_dimension): Reimplement
	(sp_marker_show_instance): Ditto

	* src/display/nr-arena-shape.c (nr_arena_shape_finalize): Detach markers

	* src/sp-shape.c (sp_shape_update_marker_view): Test orientation

2003-03-25  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/display/nr-arena-item.c: Removed ::event signal

	* src/display/nr-object.h: Frontend for future glib-free object system

2003-03-21  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-shape.c (sp_shape_update): Update marker properly
	(sp_shape_set_marker): Parse all three marker types

	* src/sp-marker.c (sp_marker_update): Set reference point in child2parent matrix
	(sp_marker_show_dimension): Copy and set arena items properly
	(sp_marker_show_instance): Set base transfoarm and scale by line width if needed

2003-03-17  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/uri-references.c (sp_uri_reference_resolve): Allow '_' and
	'-' in xlink names.

2003-03-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/display/nr-arena-item.h: Made opacity 8-bit integer

2003-03-12  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-marker.c (sp_marker_update): Do it properly
	(sp_marker_write): Do it properly (almost)

2003-03-11  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/print.c (sp_module_print_plain_class_init): Use correct destructor

	* src/sp-marker.c (sp_marker_set): Implement all attributes

2003-03-09  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-object-repr.c (sp_object_type_lookup): Added marker type

	* src/sp-marker.h: New file

	* src/sp-marker.c: New file

	* src/display/nr-arena-image.c (nr_arena_image_render): Use pixblock
	area instead the active area (that may be bigger)

	* src/helper/kde.cpp: Added SPModulePrintKDE object
	(sp_kde_get_module_print): Contructor

	* src/print.c: Port to modules, add KDE option

	* src/module.c (sp_module_register): Check for id, fix crash
	(sp_module_unregister): Ditto
	(sp_module_print_get_type): Implement SPModulePrint

	* src/document.h: Renamed private to priv to be nice with c++

	* src/Makefile.am (kdeldadd): Added LIB_KDEPRINT

	* configure.in: Enable modules by default

2003-03-04  MenTaLguY  <mental@rydia.net>

	* src/desktop.c: changed zoom_status to a spin button with logarithmic increment and a handy context menu
	(sp_dtw_zoom_*): added various event handlers for the new zoom spin button
	(sp_desktop_zoom_page): factored out code duplicated with zoom-context.c
	(sp_desktop_zoom_selection): ditto
	(sp_desktop_zoom_drawing): ditto
	(sp_desktop_widget_init): removed unused SPDesktopWidget::zoom member and replaced zoom label with a spin button

	* src/desktop.h: removed unused SPDesktopWidget::zoom member, added new sp_desktop_zoom_* methods

	* src/zoom-context.c (sp_zoom_drawing): factored out code to desktop.c
	(sp_zoom_page): NRRectD -> NRRectF, factored out code to desktop.c
	(sp_zoom_selection): factored out code to desktop.c
	
2003-03-06  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/Makefile.am: Compile KDE module if needed

	* src/main.c (sp_main_gui): Initialize/shutdown KDE module if WITH_KDE

	* src/file.c (sp_file_open_dialog): Use KDE file dialog, if WITH_KDE

	* src/Makefile.am: Add KDE libraries if needed

	* configure.in: Added --with[out]-kde configuration option

	* autogen.sh: Added (again) libtoolize

	* acinclude.m4: KDE specific autostuff

	* src/helper/kde.cpp: New file

	* src/helper/kde.h: New file

	* src/helper/kde-private.h: SPKDEBridge sefinition for moc preprocessor

2003-03-03  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/sp-color-slider.h: Use LGPL

	* src/widgets/sp-color-slider.c: Use LGPL

	* src/libnr/nr-rect.h: Use sensible NULL/empty semantics for union and intersection

	* src/libnr/nr-rect.c: Ditto

	* src/libnr/gen_nr_config.c: Generate basic typedefs (borrowed fromlibart)

	* src/display/nr-arena-item.c (nr_arena_item_invoke_update): Cleanup
	(nr_arena_item_invoke_render): Ditto

2003-03-01  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/modules/*: Various module implementations by Ted Gould

	* extensions/*: Put various unsorted extensions stuff here

	* src/module.c: New file

	* src/module.h: New file

	* src/draw-context.c (sp_draw_context_root_handler): Use 'a' instead of '+'
	as append/new toggle
	(spdc_concat_colors_and_flush): Cut continuation tolerance to avoid extra points at corners
	(spdc_pen_set_point): Draw line segments if appropriate

2003-02-25  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/main.c (main): Use bind_textdomain_codeset to force utf-8 encoding
	(sp_main_console): Init gdk if WITH_XFT

	* src/file.c (sp_export_get_rows): Do not set EMPTY flag on pixblock, or background
	will be forgotten

2003-02-24  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/align.c (sp_quick_align_dialog): Added "distribute" tab
	(sp_align_distribute_h_clicked): New method
	(sp_align_distribute_v_clicked): Ditto

	* configure.in: Removed PACKAGE_LOCALE_DIR definition

	* src/Makefile.am (INCLUDES): Set PACKAGE_LOCALE_DIR here

	* configure.in: Skip xft checking if fontcofig present

2003-02-23  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/print.c (sp_print_fill): Use new paint server signature (does it work?)

	* src/document.c (sp_document_idle_handler): Use new flags signature
	(sp_document_ensure_up_to_date): Ditto

	* src/sp-shape.c (sp_shape_modified): Removed style_modified, instead set
	style here, if flags indicate the need

	* src/sp-text.c (sp_tspan_update): Calculate relative distances here
	(sp_text_update): Ditto

	* src/sp-object.h: Split update and modified flags, involves changes in
	most places actually using them

	* src/gradient-chemistry.c (sp_gradient_ensure_private_normalized): Recycle
	available gradients, instead of always creating new
	(sp_gradient_ensure_radial_private_normalized): Ditto

	* configure.in: Version 0.32pre

2003-02-22  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-text.c (sp_text_set_shape): Honour single dx and dy attributes

	* configure.in: Added check for fontconfig to retrieve nonstandard include directories

2003-02-21  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-image.c (sp_image_set): Set canvas item properties in ::update
	(sp_image_update): Implement

	* src/dialogs/fill-style.c (sp_fill_style_widget_paint_changed): Set CMYK before RGB

	* src/dialogs/stroke-style.c (sp_stroke_style_paint_changed): Set CMYK before RGB

2003-02-20  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-gradient.c (sp_gradient_rebuild_vector): Fix crash if 2 stops coincide

	* src/libnrtype/nr-rasterfont.c (nr_rasterfont_generic_glyph_mask_render): Get real
	bounding box, clip to pixblock area for SVP glyphs

	* src/sp-polygon.c (sp_polygon_write): Write points always

2003-02-18  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/export.c (sp_export_dialog): Default to document name + png
	(sp_export_spinbutton_new): Pack more functions here

	* src/sp-chars.c (sp_chars_update): Implement

	* src/sp-text.c (sp_tspan_update): Implement

	* Makefile.am: Port back to glib gettext

	* configure.in: Port back to glib gettext

	* autogen.sh: Copied working version from The Gimp

	* src/helper/sp-canvas.c (sp_canvas_paint_rect): Try to fit area into pixelstore
	instead of using default image size always

2003-02-17  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-path.h: Turned SPPath/SPShape hierachy upside down, so they make sense
	now, when we do not derive text and clippath from SPPath anymore

	* src/sp-shape.h: Ditto

2003-02-16  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/file.c (file_open_ok): Set directory if OK clicked on it (thanks to Aron Rubin)
	(file_import_ok): Ditto

	* src/sp-ellipse.c (sp_round): Fix sp_round

2003-02-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/paint-selector.c (sp_paint_selector_system_color_set): New method
	(sp_paint_selector_set_mode_color): Added 'get from dropper' checkbox

	* src/dialogs/object-properties.c (sp_object_properties_color_set): Handler
	of system 'color_set' signal, used for getting color value from dropper

	* src/dialogs/stroke-style.c (sp_stroke_style_paint_system_color_set): New method

	* src/dialogs/fill-style.c (sp_fill_style_widget_system_color_set): New method

	* src/toolbox.c (sp_toolbox_draw_create): Added dropper tool

	* src/sodipodi.c (sodipodi_class_init): Added 'color_set' signal
	(sodipodi_set_color): Frontend to signal
	(sodipodi_init_config): Use config_name instead of hardcoded 'preferences'

	* src/dropper-context.c (sp_dropper_context_root_handler): Scale colors
	to [0.0 - 1.0] range and signal hub

	* src/widgets/menu.c: New file, implement sensible menu API

	* src/widgets/menu.h: New file

2003-02-13  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dropper-context.h: New file

	* src/dropper-context.c: New file

2003-02-11  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/desktop.c (sp_desktop_widget_init): Create tooltips, enable sticky zoom
	(sp_desktop_widget_size_allocate): Calculate sticky zoom by area instead of MIN (x, y)

	* src/helper/sp-canvas.h: Added floating point scroll coordinates

	* src/helper/sp-canvas.c (scroll_to): Preserver floating point coordinates

	* src/display/nr-arena-group.c (nr_arena_group_set_child_transform): Do
	not force full update if not needed

	* src/display/nr-arena-item.c (nr_arena_item_set_clip): Do not force
	full update if not needed
	(nr_arena_item_set_mask): Ditto
	(nr_arena_item_set_transform): Ditto

2003-02-09  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-gradient.c (nr_lgradient_render_R8G8B8A8N_EMPTY): New shortcut

	* src/libnr/nr-gradient.h: Made x0 and x0 integers - this introduces possible
	upt to 0.7 pixel error, but other rendering parts are not exact anyways

	* src/sp-paint-server.h: Fill function signature change

2003-02-08  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-gradient.c (nr_rgradient_render_generic_symmetric): Special
	case NR_PIXBLOCK_MODE_R8G8B8A8N and full opacity

	* src/sp-gradient.c (sp_radialgradient_set): Initialize focal point to center if unset

	* src/libnr/nr-gradient.c (nr_lgradient_render_R8G8B8A8N): Special-cased full opacity

	* configure.in: 0.30.1

	* src/libnrtype/nr-rasterfont.c (nr_rasterfont_ensure_glyph_slot): Use
	32 bit integer bbox initially before deciding whether it fits in 16 bit

2003-02-08  gettextize  <bug-gnu-gettext@gnu.org>

	* Makefile.am (SUBDIRS): Add intl, m4.
	(EXTRA_DIST): Add config.rpath.
	* configure.in (AC_OUTPUT): Add intl/Makefile, po/Makefile.in, m4/Makefile.

2003-02-07  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/help.c (sp_help_about): Make default window size the same as document

	* src/style.c: Use custom winding rule and stroke parameter enumerations

	* src/enums.h: Define winding rules and stroke parameters

2003-02-06  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-rect.c (sp_rect_rx_set): Set ::set value(s)
	(sp_rect_ry_set): Ditto

	* src/sp-item.c (sp_item_update): Set arena item transform here

	* src/dialogs/fill-style.c (sp_fill_style_widget_update_repr): Made non-recursive
	(sp_fill_style_widget_update): Ditto

	* src/sp-shape.c (sp_shape_write_transform): Working path tranformation optimizer

	* src/widgets/sp-color-slider.c (sp_color_slider_adjustment_value_changed): Add
	some extra pixels around arrow dirtified area
	(sp_color_slider_paint): Use gtk_draw_box instead of gtk_draw_shadow
	(sp_color_slider_realize): Attach style

2003-02-04  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sodipodi.c (sodipodi_load_config): Generic method by Bryce
	(sodipodi_load_preferences): Frontend, same
	(sodipodi_load_extensions): Ditto
	(sodipodi_get_repr): Test for "extensions"
	(sodipodi_init_config): Generic method by Bryce
	(sodipodi_init_preferences): Frontend by Bryce
	(sodipodi_init_extensions): Ditto

	* src/toolbox.c (sp_toolbox_extension_create): Implemented by Bryce

	* src/extension.c: New file by Bryce Harrington

	* src/extension.h: New file by Bryce Harrington

	* src/extensions-skeleton.h: Ditto

	* src/sp-mask.c: support maskContentUnits

	* src/nodepath.c (create_curve): Do not add 50 to y (why was it here?)

	* src/sp-item-group.c (sp_group_update): Propagate only if update flag set

	* src/sp-item.c (sp_item_set): Set clippath and mask bbox
	(sp_item_update): Ditto

	* src/sp-clippath.c (sp_clippath_build): Implement
	(sp_clippath_set): Ditto, clipPathUnits attribute
	(sp_clippath_update): Ditto
	(sp_clippath_show): Use bbox if needed
	(sp_clippath_set_bbox): New method

2003-02-03  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-item.c (sp_item_release): Release mask
	(sp_item_mask_release): New handler
	(sp_item_mask_modified): Ditto
	(sp_item_set): Parse mask
	(sp_item_show): Show mask
	(sp_item_private_hide): Hide mask

	* src/display/nr-arena-item.c (nr_arena_item_invoke_render): Do masking
	(nr_arena_item_private_dispose): Release mask
	(nr_arena_item_invoke_update): Update mask
	(nr_arena_item_set_mask): New method

	* src/sp-root.c (sp_root_build): Do not check for xmlns:sodipodi to determine
	version, as this is set automatically in xml loader

	* src/slideshow.h: New file

	* src/slideshow.c: New file

2003-02-02  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-rect.c (sp_rect_set): Accept 0.0 as valid for x, y, width and height
	(sp_rect_write): Use 0.0 as default for rx, ry

	* src/rect-context.c (sp_rect_finish): Use ::write to be sure

	* src/display/nr-arena-shape.c (nr_arena_shape_clip): OR masks

	* src/sp-defs.c (sp_defs_update): Implement
	(sp_defs_modified): Ditto

	* src/sp-clippath.c (sp_clippath_update): Implement
	(sp_clippath_modified): Ditto
	(sp_clippath_show): Fix
	(sp_clippath_hide): Implement

	* src/sp-item.c (sp_item_set): Fix clippath
	(sp_item_show): Ditto
	(sp_item_private_hide): Ditto
	(sp_item_display_key_new): New method

	* src/sp-item.h: Use new signature for ::show and ::hide

2003-02-01  Daniel Yacob  <locales@geez.org>

	* configure.in: Added "am" (Amharic) to ALL_LINGUAS.

2003-02-01  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-use.c (sp_use_init): Set width and height default to 100%
	(sp_use_set): Ditto
	(sp_use_bbox): use child transform
	(sp_use_update): Calculate relative lengths, set new viewport

	* src/sp-object.c: Removed ::dispose and some commented out code

	* src/sp-symbol.c: New file

	* src/sp-symbol.h: New file

	* src/enums.h: New file

	* src/xml/repr-io.c (sp_repr_svg_read_node): Return if entity declaration

	* src/sp-root.c (sp_root_init): Set correct default viewport values
	(sp_root_build): Read 'x', 'y', 'version', 'preserveAspectRatio'
	(sp_root_set): Parse added attributes, accept percentages for x, y, width, height
	(sp_root_update): Set up proper transformations to support aspect ratios

	* src/sp-item.h: Added viewPort and item2viewPort transformation to item context

	* src/document.c (sp_document_ensure_up_to_date): Set initial viewport
	and identity transforms in item context
	(sp_document_idle_handler): Ditto

	* src/attributes.h: Added 'version' and 'preserveAspectRatio'

2003-01-31  Masatake YAMATO  <jet@gyve.org>

	* src/main.c (POPT_TABLEEND): Define if it is not defined in
	popt.h. copied from forntline.

2003-01-30  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/guideline.c (sp_guideline_render): Do not round int

	* src/interface.c (sp_ui_close_view): Get widget pointer before killing object

2003-01-28  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: Version 0.30pre

	* src/sp-image.c (sp_image_bbox): Calculate bbox properly

2003-01-28  gettextize  <bug-gnu-gettext@gnu.org>

	* Makefile.am (SUBDIRS): Add intl, m4.
	(EXTRA_DIST): Add config.rpath.
	* configure.in (AC_OUTPUT): Add intl/Makefile, po/Makefile.in, m4/Makefile.

2003-01-28  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnrtype/codepages.h: Win9x codepage declarations

	* src/main.c (WinMain): Use new toplevel toolbox constructor

	* src/text-context.c (sp_text_context_root_handler): Added Gdk_U to unimode

	* src/libnrtype/nr-type-w32.c: Implement ANSI charset and styles

	* src/libnrtype/nr-type-directory.c (nr_type_directory_build): Honour
	stretch attribute in searches

	* src/toolbox.c (sp_maintoolbox_create_toplevel): Broke constructor
	into two parts to allow multiple toolboxes

	* src/interface.c (sp_ui_view_show_toolbox): New method
	(sp_ui_view_dock_toolbox): Ditto
	(sp_ui_view_remove_toolbox): Ditto
	(sp_ui_view_menu): Added menu items for creating toolboxes
	(sp_create_window): Pack toplevel hbox into window

2003-01-26  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/art-utils.c (sp_vpath_from_bpath_transform_closepath): Moved
	array expansion to the right place (thanks to Lynn Kerby)

2003-01-25  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/xml-tree.c (sp_xml_tree_dialog): Allow horizontal scrollbar
	so we do not expand window infinitely

	* src/sp-use.c (sp_use_update): Implemented by MenTaLguY
	(sp_use_modified): Ditto

	* src/libnr/nr-path.c (nr_curve_bbox): Implement fast and exact bbox (thanks to Nathan)
	(nr_curve_bbox_wind_distance): Use exact bbox

2003-01-25  Nathan Hurst  <Nathan.Hurst@infotech.monash.edu.au>

	* src/desktop-snap.c: Fixed vector snapping code, replaced horizontal and
	vertical snapping with generic vector versions

2003-01-21  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/nodepath.c (create_curve): Use NR_MATRIX_DF_TRANSFORM_X (Thanks to
	MenTaLguY for finding these NRPointF/ArtPoint mismatches)

2003-01-20  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnrtype/nr-type-gnome.c (nr_typeface_gnome_new): Ditto

	* src/print.c (sp_print_preview_document): Fix gnome-print support
	(sp_print_document): Ditto

	* src/libnrtype/nr-type-xft.c (nr_type_xft_init): Added ebug printout

	* src/widgets/button.c (sp_button_button_press): Do not grab mouse
	(sp_button_button_release): Ditto

2003-01-19  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/desktop.c (sp_dtw_status_frame_size_request): Always request minimum size

	* configure.in: Define GETTEXT_PACKAGE properly (Thanks to Christian Rose)

	* src/libnrtype/nr-type-xft.c (nr_type_xft_init): Removed CORE, so Xft fontlist
	should now be read properly with Debian PPC and or fontconfig systems

2003-01-15  MenTaLguY  <mental@rydia.net>

	* src/sp-object.c (sp_object_get_unique_id): don't include namespace prefix when generating ids

2003-01-15  MenTaLguY  <mental@rydia.net>

	* src/widgets/sp-xmlview-tree.c (add_node): tree nodes associated with elements pretend they initially have a NULL id
	(element_attr_changed): display elements with a NULL id properly

2003-01-15  MenTaLguY  <mental@rydia.net>

	* src/xml/repr-private.h: added SPXMLNs structure

	* src/xml/repr.h: added decls for sp_xml_ns_uri_prefix() and sp_xml_ns_prefix_uri()

	* src/xml/repr-io.c: improved handling of namespace prefixes
	(sp_repr_qualified_name): added hashtable to keep track of NS prefixes used
	(sp_repr_read_node): Ditto
	(sp_repr_do_read): Ditto + replaced if cascade with calls to sp_xml_ns_uri_prefix()
	(sp_repr_set_xmlns_attr): helper to set xmlns attributes

	* src/xml/repr-util.c: added namespaces list
	(sp_xml_ns_register_defaults): procedure to initialize namespace mapping list
	(sp_xml_ns_auto_prefix): helper routine to automatically select a "good" prefix for a given namespace URI
	(sp_xml_ns_uri_prefix): returns a prefix to use for a given namespace URI, registering a mapping automatically if necessary
	(sp_xml_ns_prefix_uri): returns the namespace URI registered for a given prefix

2003-01-13  MenTaLguY  <mental@rydia.net>

	* src/desktop.c (sp_dtw_desktop_shutdown): rearranged close confirmation buttons according to the Gnome HIG
 
2003-01-18  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/seltrans.c (sp_sel_trans_grab): Build array of selected item transformations
	(sp_sel_trans_transform): Use original transforms to avoid rounding errors
	(sp_sel_trans_ungrab): Release array

	* src/dialogs/transformation.c: Implemented scaling percentages

2003-01-17  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/draw-context.c (spdc_set_startpoint): Snap startpoint (thanks to Nathan)
	(sp_pen_context_root_handler): Ditto

	* src/dialogs/transformation.c: Implement simple move dialog

2003-01-16  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/guideline.c (sp_guideline_new): Changed signature, fixes
	granular new guideline placement bug
	(sp_guideline_render): Use normal rounding, so guideline and object are aligned

	* src/sp-item.h: Changed the signature of ::snappoints, this forced me to
	use NRPoints near everywhere else too

2003-01-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/draw-context.c (spdc_endpoint_snap): Make Ctrl to restrict directions
	to multitudes of 15 degrees (thanks to Nathan Hurst)

2003-01-13  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/file.c (sp_file_open_dialog): Rearrange
	(sp_file_save_dialog): Ditto
	(sp_file_save_document): Ditto

2003-01-13  MenTaLguY  <mental@rydia.net>

	* src/toolbox.c (sp_maintoolbox_create): turned off user resizing of toolbox so it autoresizes properly

2003-01-13  MenTaLguY  <mental@rydia.net>

	* src/toolbox.c (sp_maintoolbox_create): turned off user resizing of toolbox so it autoresizes properly


	* src/print.c (sp_print_plain_bind): Move generic PS code here
	(sp_print_plain_release): Ditto
	(sp_print_plain_fill): Ditto
	(sp_print_plain_stroke): Ditto
	(sp_print_plain_image_R8G8B8A8_N): Ditto
	(sp_print_document): Implement very-very simple non-gnome print dialog

2003-01-12  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/main.c: Made --without-popt working

2003-01-11  MenTaLguY  <mental@rydia.net>

	* src/xml/repr-io.c: removed bogus ATTLIST from DOCTYPE
	(sp_repr_read_file): factored out duplicated code into sp_repr_do_read + added parameter for default namespace
	(sp_repr_read_mem): factored out duplicated code into sp_repr_do_read + added parameter for default namespace
	(sp_repr_do_read): merged duplicated code from sp_repr_read_* family
	(sp_repr_do_read): insert xmlns decls for common namespaces
	(sp_repr_qualified_name): basic namespace handling for SVG, XLink, and Sodipodi namespaces
	(sp_repr_read_node): added parameter for default namespace
	(sp_repr_read_node): removed dead code and broken re-addition of xmlns declarations (xlink?)
	(repr_quote_write): UTF8 is ASCII-compatible -- removed inaccurate comment

	* src/xml/repr.h: added SP_*_NS_URI macros

	* src/document.c (sp_document_new): SVG is default NS
	(sp_document_new_from_mem): SVG is default NS

	* src/file.c (file_import_ok): SVG is default NS

	* src/interface.c (sp_ui_import_one_file): SVG is default NS

	* src/sodipodi.c (sodipodi_init): no default NS
	(sodipodi_load_preferences): no default NS

2003-01-11  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: Check for xft

	* src/libnrtype/Makefile.am: Added xft_sources

	* src/libnrtype/nr-type-directory.c (nr_type_read_xft_list): Load xft typefaces

	* src/libnrtype/nr-type-xft.h: New file

	* src/libnrtype/nr-type-xft.c: New file

2003-01-10  MenTaLguY  <mental@rydia.net>

	* src/dialogs/item-properties.c (sp_item_widget_new): made unimplemented controls insensitive

2003-01-04  MenTaLguY  <mental@rydia.net>

        * src/text-context.c (sp_text_context_finalize): folded back
	into sp_text_context_finish
        (sp_text_context_root_handler): Gtk IM now gets first refusal of
	key press _and_ release events; toggling "unicode mode" now triggers an
	IM reset; "unicode mode" bypasses IM entirely


2003-01-04  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/text-context.c (sp_text_context_root_handler): Moved IM back to
	beginning (thanks to MenTaLguY for pointing this out)

	* src/sp-object.c (sp_object_invoke_update): Merge styles only if parent changed

	* src/sp-text.c (sp_text_update): Implement

	* src/sp-text.c (sp_string_modified): Chain invocation so style gets updated

	* src/widgets/sp-xmlview-content.c: Port to GtkTextView

	* src/dialogs/xml-tree.c: Port to GtkTextView

	* src/text-context.c (sp_text_context_root_handler): Consume xdigits in unicode mode

	* configure.in: Removed GTK_ENABLE_BROKEN

	* src/dialogs/text-edit.c: Use GtkTextView/Buffer

	* src/xml/repr-util.c (sp_repr_transfer_ids): Helper by MenTaLguY
	(sp_repr_move): Ditto

2003-01-03  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/xml-tree.c: Updated (MenTaLguY)

	* src/dialogs/item-properties.c (sp_item_widget_new): Added slider (MenTaLguY)

	* src/text-context.c (sp_text_context_setup): Set up Gtk IM (thanks to MenTaLguY)
	(sp_text_context_setup_text): Move code here (MenTaLguY)
	(sp_text_context_root_handler): Process Gtk IM (MenTaLguY)
	(sptc_commit): Gtk IM signal handler (MenTaLguY)

	* src/sp-text.c (sp_text_insert): Replace < 32 and not whitespace with space

	* src/selection.c (SP_SELECTION_UPDATE_PRIORITY): Set Gtk - 11

	* src/document.c (SP_DOCUMENT_UPDATE_PRIORITY): Set GTK - 12

2003-01-01  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/button.c (sp_button_paint_arrow): Draw something

2002-12-29  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/event-context.c (sp_event_context_private_root_handler): Pan with
	Shift+Button3 too (useful with windows and < 3 button mice)

	* src/toolbox.c (sp_toolbox_file_create): Mek print buttons insensitive

	* src/sp-text.c (sp_text_write_transform): Fixed it

	* src/main.c (sp_do_export_png): Initialize y0

	* src/file.c (sp_export_png_file): Use pixelstore, export min 64 rows at once,
	fix miscalculated rowstride

2002-12-28  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnrtype/nr-type-directory.c (nr_type_read_w32_list): Use
	windows native fonts, if applicable

	* src/libnrtype/nr-type-w32.h: New file

	* src/libnrtype/nr-type-w32.c: New file

2002-12-27  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/print.c (sp_print_image_R8G8B8A8_N): Implement direct PS version

2002-12-26  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/print.c (sp_print_bpath): Helper
	(sp_print_bind): Implement non-gnome-print version
	(sp_print_release): Ditto
	(sp_print_fill): Ditto
	(sp_print_stroke): Implement non-gnome-print version

	* src/widgets/icon.c (sp_icon_image_load): Generic image loader

	* src/desktop.c (sp_desktop_widget_update_zoom): Make working again

	* src/widgets/button.c: New file

	* src/widgets/button.h: New file

	* src/toolbox.c (sp_toolbox_draw_create): Port to brand new SPButton

2002-12-17  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/desktop.c (sp_desktop_widget_init): Some cleanup

	* src/widgets/ruler.c: Moved to widgets subdir

	* src/widgets/ruler.h: Moved to widgets subdir

2002-12-16  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: --with[out]-gnome-print argument, thanks to MentaLguY

2002-12-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-guide.c (sp_guide_set): Fixed horiz/vert

	* src/desktop-events.c (sp_dt_ruler_event): Fixed
	(sp_dt_guide_event): Fixed

	* src/helper/guideline.h: Renamed to avoid conflict with SPGuide object,
	several signature changes

	* src/helper/guideline.c: Ditto, removed properties

	* src/helper/sp-canvas.c (sp_canvas_window_to_world): Oops, was meant to be y0
	(sp_canvas_world_to_window): Ditto

2002-12-14  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/desktop-properties.c: Fully functional color picker

	* src/display/nr-arena-item.h: Ported rendering from NRBuffer to NRPixBlock,
	involves changes in most Arena objects. Added NO_CACHE flag to rendering.

2002-12-13  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/paint-selector.c (sp_paint_selector_style_button_add): Changed
	SODIPODI_GLADEDIR -> SODIPODI_PIXAMPDIR (Thanks to Ted Gould)

2002-12-11  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-guide.c (sp_guide_class_init): Removed translatability of properties

	* src/knot.c (sp_knot_class_init): Removed translatability of properties

	* src/helper/sp-guide.c (sp_guideline_class_init): Removed translatability
	from properties (who needs this?)

	* src/widgets/icon.h: New file, use as frontend to image loading

	* src/widgets/icon.c: New file

	* src/document.c (sp_document_create): Generic method, implement
	constructors as frontends

	* src/sodipodi.c (sodipodi_dispose): Only unref documents and let
	them manage list

	* glade/icons.svg: New icon definition file

2002-12-08  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/align.c (sp_align_arrange_clicked): Collected all
	arrangement methods into generic one
	(create_base_menu): Compact
	(sp_align_add_menuitem): New helper
	(sp_quick_align_dialog): Use value matrix instead of different callbacks

2002-12-07  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/sp-canvas.c (sp_canvas_expose): Free rects

	* src/attributes.h: Added animation-specific attributes

	* src/sp-animation.c: New file, only skeleton at moment

	* src/sp-animation.h: New file

2002-12-06  Masatake YAMATO  <jet@gyve.org>

	* tools-version.sh: print the path to the tools.

2002-12-06  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-root.c (sp_root_update): Implement

	* src/sp-rect.c (sp_rect_update): Implement
	(sp_rect_set): Request update instead of setting shape immediately

	* src/sp-item-group.c (sp_group_update): Implement

	* src/sp-object.h: Replaced ::read_attr with ::set, signature change.
	This involves modification in all subclasses as well.

	* src/attributes.h: New file. We enumerate/define all allowed attributes
	and properties, to save few string compares later.

	* src/attributes.c: New file

2002-12-04  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-object.c (sp_object_request_update): New method. We implement
	separate ::update cascade that precedes ::modified, and is meant to
	be used for building item states (styles, paths and so on). In many
	aspects it shares code path with ::modified.
	(sp_object_invoke_update): Ditto

Wed Dec  4 01:05:05 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/widget/sp-menu-button.c: Fixed to work well.

	* src/toolbox.c: enable draw buttons.
	Comment out signal_connect_after.

2002-12-03  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-item.h: Replaced libart transforms and bboxes with libnr ones -
	this involves changes almost every file there.

	* src/main.c: Added POPT_AUTOHELP

2002-12-03  Masatake YAMATO  <jet@gyve.org>

	* tools-version.sh (TOOLS): Added automake-1.6 and
	aclocal-1.6. Suggested by MenTaLguY.
	(srcdir): remove version number from grep pattern.

2002-12-02  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/sp-canvas.h: Made scrolling offsets integers

	* src/helper/sp-canvas.c (scroll_to): Scroll instead of draw

	* tools-version.sh (ENVPATTERN): Added FLAGS

2002-12-02  Masatake YAMATO  <jet@gyve.org>

	* distro, tools-version.sh: New files.
	distro comes from distro-0.8.1(http://distro.pipfield.ca/).
	distro and tools-version.sh should be included only in CVS version
	of sodipodi.
	
	* autogen.sh: Call tools-version.sh.
	
2002-12-02  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/desktop-properties.c: Partial color picker implementation

2002-12-01  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/text-edit.c: GtkObject/GObject cleanup

	* src/file.c: Ditto

	* TODO: Update with 0.29 tasks

	* src/sp-gradient.c: GtkObject/GObject cleanup

	* src/widgets/sp-widget.c: Ditto

	* src/widgets/gradient-selector.c: Ditto

	* src/widgets/gradient-vector.c: Ditto

	* src/widgets/gradient-position.c: Ditto

	* src/widgets/gradient-image.c: Ditto

	* src/dialogs/fill-style.c: Ditto

2002-11-30  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/view.h: Derive directly from GObject

2002-11-30  Masatake YAMATO  <jet@gyve.org>

	* configure.in (ENABLE_AUTOTRACE): Comment out autotrace/frontline
	checking till frontline becomes gtk+2 based.

2002-11-30  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/selection.h: Inherit directly from GObject

	* src/event-context.h: Inherit directly from GObject

	* src/helper/sp-canvas.c (sp_canvas_item_dispose): Set xform to NULL

	* src/display/canvas-arena.c (sp_canvas_arena_destroy): Fixed typo, so
	multiple destroys are allowed

	* src/nodepath.c: Removed external cursor pointers

	* src/knot.c (sp_knot_set_property): Ref new cursors

	* src/document.c (sp_document_get_type): Inherit directly from GObject

2002-11-29  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/knot.c (sp_knot_handler): Signature change, return correct value as it should

	* src/helper/sp-canvas.c (scroll_to): Blit window, unless explicitly forbidden
	(sp_canvas_size_allocate): Update onlu changed areas

	* src/sp-item.c (sp_item_invoke_bbox): Signature change

	* src/desktop.c (sp_desktop_widget_update_rulers): Reenabled it
	(sp_desktop_set_display_area): Only update canvas root if zoom factor changes
	(sp_desktop_update_scrollbars): Working

	* src/helper/sp-canvas.c (paint): use full visible are for clipping, fixed
	type on specifying area dimensionf in event
	(sp_canvas_get_viewbox): New method

	* src/desktop.c (sp_desktop_set_display_area): New method, replaces show_region
	(sp_desktop_get_display_area): Replacement for ...
	(sp_desktop_zoom_absolute): Use generic sp_desktop_set_visible_area
	(sp_desktop_zoom_relative): Ditto

2002-11-28  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: ... and everyting else - merged SODIPODI_GTK2_BRANCH

	* po/Makevars: Added this

2002-11-28  gettextize  <bug-gnu-gettext@gnu.org>

	* Makefile.am (SUBDIRS): Add intl, m4.
	(EXTRA_DIST): Add config.rpath.
	* configure.in (AC_OUTPUT): Add intl/Makefile, po/Makefile.in, m4/Makefile.

2002-11-27  gettextize  <bug-gnu-gettext@gnu.org>

	* Makefile.am (SUBDIRS): New variable.
	(ACLOCAL_AMFLAGS): New variable.
	(EXTRA_DIST): New variable.
	* configure.in (AC_OUTPUT): Add intl/Makefile, po/Makefile.in, m4/Makefile.

2002-11-25  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: Version 0.29pre

2002-11-25  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/display/nr-arena-glyphs.c (nr_arena_glyphs_group_add_component): Skip
	if zero-sized valid path

	* src/libnr/nr-path.c (nr_path_matrix_f_bbox_f_union): Allow NULL path member
	(nr_path_matrix_f_point_f_bbox_wind_distance): Ditto
	(nr_path_duplicate_transform): Ditto

	* src/libnrtype/nr-typeface.h: Added family member to definition

	* src/libnrtype/nr-type-directory.c (nr_type_register): Use family from def

	* src/libnrtype/nr-type-ft2.c (nr_type_ft2_build_def): Set family member

	* src/libnrtype/nr-type-gnome.c (nr_type_gnome_build_def): Set family member

2002-11-23  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dyna-draw-context.c: Clamp drag to [0.0 1.0]

2002-11-23  Masatake YAMATO  <jet@gyve.org>

	* src/node-context.c: Inlucde document.h.
	(sp_node_context_stamp): New function.
	(sp_node_context_root_handler): Do stamp if space key
	is pressed during dragging.

	* src/nodepath.c (stamp_repr): New function.
	(node_event): Do stamp if the space key is pressed.
	(node_ctrl_event): New function.
	(sp_nodepath_node_new): Connected node_ctrl_event to n->p.knot::event.
	Connected node_ctrl_event to n->n.knot::event. 

	* src/helper/bezier-utils.c (sp_bezier_fit_cubic_full): Fix memry leaks(u, uPrime).
	This leaks are reported by Michel Schinz <Michel.Schinz@epfl.ch>.

2002-11-22  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnrtype/nr-type-gnome.c (nr_typeface_gnome_lookup): Added all
	glyphs to 0xe000 private plane as well.

	* src/widgets/gradient-selector.c (sp_gradient_selector_set_spread): Set
	position widget spread as well
	(sp_gradient_selector_spread_activate): Ditto

2002-11-21  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/curve.c (sp_curve_closepath): Reinitialize pointers, as we may
	have reallocated path in helper

	* src/knotholder.h: Added hook for knot ungrabbing

	* src/knotholder.c (knot_ungrabbed_handler): Implement
	(sp_knot_holder_destroy): Free list items

	* src/sp-ellipse.c (sp_arc_start_set): Use genericellipse closed marker
	(sp_arc_end_set): Ditto
	(sp_arc_set_elliptical_path_attribute): Ditto

	* autogen.sh: Added '--intl' to gettextize flags, seems to be safe for
	older gettexts as well

	* src/dialogs/xml-tree.c (on_tree_select_row): Remove extra blockade
	counting (thanks to MenTaLguY)
	(on_tree_unselect_row): Ditto

2002-11-20  Masatake YAMATO  <jet@gyve.org>

	* src/seltrans.c (sp_sel_trans_init): Set null to
	stamp_cache.
	(sp_sel_trans_ungrab): Clear stamp_cache.
	(sp_sel_trans_stamp): If available, use stamp_cache.
	Else build stamp_cache. l0 is removed. Don't
	free the list here.

	* src/seltrans.h: Included glib.h.
	(struct _SPSelTrans): added new field stamp_cache.

2002-11-20  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/interface.c (sp_ui_dialog_menu): Do not bring up > 1 transform dialogs at once

	* src/seltrans.c (sp_sel_trans_stamp): Reversing still was not correct,
	replaced it with explicit sort

2002-11-20  Masatake YAMATO  <jet@gyve.org>

	* src/seltrans.c (sp_sel_trans_stamp): The order of
	selections is reversed before stamping.

	The bug was reported by Michel Schinz <Michel.Schinz@epfl.ch>.

2002-11-19  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/desktop.c (sp_desktop_prepare_shutdown): New method, allowing us nice
	cleanup before ::destroy is invoked
	(sp_dtw_desktop_shutdown): Prepare desktop for shutdown

	* src/sp-text.c (sp_text_is_empty): Treat unicode private plane as graphical

	* src/libnrtype/nr-type-ft2.c (nr_typeface_ft2_lookup): Use private plane
	direct index, if no unimap
	(nr_typeface_ft2_new): Set unimap flag according to whether we have
	unicode mapping table or not

2002-11-18  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in (FREETYPE_LIBS): Added direct freetype check

	* src/widgets/dash-selector.c (sp_dash_selector_menu_item_new): Use created
	GC, as widget is not mapped yet
	(sp_dash_selector_new): Load stroke definitions from preferences

2002-11-17  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/sodipodi-ctrl.c (sp_ctrl_build_cache): Cleaned up bitmap build

2002-11-17  Masatake YAMATO  <jet@gyve.org>

	* src/dialogs/xml-tree.c (sp_xml_tree_dialog): Added small
	space between attribute name text field and set attribute 
	button.

2002-11-17  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/xml-tree.c (sp_xml_tree_dialog): Cleanup by MenTaLguY

	* src/widgets/sp-xmlview-attr-list.c (event_attr_changed): Clamping string
	width to 64[+3], thanks to MenTaLguY

2002-11-16  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/sp-canvas.c (sp_canvas_motion): Get pointer if motion hints are requested

	* src/select-context.c (sp_select_context_item_handler): Use motion hints

	* src/dialogs/text-edit.c (sp_text_edit_dialog_read_selection): Kill annoying
	warning about position > length

	* src/style.h (SP_SCALE24_FROM_FLOAT): Use temporary (double) cast
	(SP_SCALE24_TO_FLOAT): Ditto

	* src/dialogs/xml-tree.c (cmd_set_attr): Use gal unicode wrappers

	* src/widgets/sp-xmlview-attr-list.c (event_attr_changed): Use gal unicode wrappers

	* src/widgets/sp-xmlview-content.c (event_content_changed): Use gal unicode wrappers
	(sp_xmlview_content_changed): Ditto

	* src/widgets/sp-xmlview-tree.c (element_attr_changed): Use gal unicode wrapper
	(text_content_changed): Ditto

	* src/dialogs/xml-tree.c: Sorted out includes a bit
	(set_tree_desktop): Comment aout transient, as some WMs do not do it proper
	(on_desktop_selection_changed): Set/release block
	(on_tree_unselect_row): Ditto
	(on_tree_select_row): Ditto
	(get_dt_select): Use selection helper methods

2002-11-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnrtype/nr-type-gnome.c (nr_typeface_gnome_glyph_outline_get): Use
	metrics properly

	* src/libnrtype/nr-type-ft2.c (nr_typeface_ft2_ensure_slot_v): Implement for
	font missing vertical metrics
	(nr_typeface_ft2_ensure_outline): Ditto

	* src/libnrtype/nr-type-directory.c (nr_type_read_private_list): Read face
	number from proper place

	* src/libnrtype/nr-font.c (nr_font_generic_glyph_area_get): Implement

	* src/sp-text.c (sp_string_calculate_dimensions): Use metrics properly
	(sp_string_set_shape): Ditto

	* src/print.c (sp_print_stroke): Print dash

2002-11-14  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/file.c (sp_file_exit): Close all views before exiting

	* src/interface.c (sp_ui_close_view): Destroy viewwidget properly
	(sp_ui_close_all): New method

	* src/sp-rect.c (sp_rect_write_transform): Adjust dash in addition to stroke width

	* src/display/nr-arena-shape.c (nr_arena_shape_update): Only dash if
	total dash length is >= 1.0 pixels

	* src/dialogs/stroke-style.c (sp_stroke_style_line_update_repr): Divide
	dash values by line width
	(sp_stroke_style_scale_line): Multiply dash values by line width
	(sp_stroke_style_line_update): Ditto

	* src/widgets/dash-selector.c (sp_dash_selector_set_dash): Use 1/1000 of
	total dash distance as delta

	* src/sp-gradient.c (sp_gradient_write): Set xlink:href attribute
	(sp_stop_write): Do it the right way

2002-11-13  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/style.c (sp_style_read_dash): Allow comma separators
	(sp_style_read): Read dash presentation attributes

	* src/widgets/dash-selector.c: New file

	* src/widgets/dash-selector.h: New file

	* src/dialogs/stroke-style.c (sp_stroke_style_line_widget_new): Added dash
	pattern selector
	(sp_stroke_style_line_update): Update dash
	(sp_stroke_style_line_update_repr): Ditto
	(sp_stroke_style_line_dash_changed): Callback

2002-11-12  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/xml-tree.c: Naviagtion buttons, better layout and other
	improvements by MenTaLguY <mental@rydia.net>

2002-11-12  Masatake YAMATO  <jet@gyve.org>

	* configure.in: required frontline-0.5.4.
	You can get both autotrace and frontline from
	http://sourceforge.net/autotrace.
	(AC_PROG_AS): wrapped by ifdef.
	Missing to add ChangeLog before commiting.

2002-11-11  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-gradient.c (nr_rgradient_render_generic_symmetric): Fix
	array read overflow
	(nr_rgradient_render_generic_optimized): Ditto

	* src/widgets/paint-selector.c (sp_paint_selector_write_lineargradient): Normalize
	gradient transform and recalculate positions before applying
	(sp_paint_selector_write_radialgradient): Ditto

	* src/widgets/gradient-selector.c (sp_gradient_selector_set_mode): New method
	(sp_gradient_selector_init): Added units and spread optionmenu

	* src/widgets/gradient-position.c (sp_gradient_position_motion_notify): Comment
	out nonuniform placement, as it did not work correctly

	* src/libnr/nr-matrix.c (nr_matrix_d_invert): Fix really silly bug generating identities
	(nr_matrix_f_invert): Ditto

	* src/dialogs/stroke-style.c (sp_stroke_style_paint_update): Set gradient props

	* src/dialogs/fill-style.c (sp_fill_style_widget_update): Set gradient props

	* src/sp-gradient.h: Changed units enumeration, so 0 is default

	* src/display/nr-arena-shape.c (nr_arena_shape_pick): Re-enable SVP based check,
	only do winding check, if object is filled

	* src/file.c: Removed printing code, only frontends remain

	* src/print.c (sp_print_document): Implement
	(sp_print_document_to_file): Ditto

	* src/sp-gradient.c (sp_gradient_ensure_colors): Fixed writing last color
	outside of allocated color vector

2002-11-10  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: Commented out AM_PROG_AS, as there is not such macro
	in my installation

	* src/libnrtype/nr-typeface.h: Signature change for outline unref

	* src/libnrtype/nr-type-gnome.c (nr_typeface_gnome_glyph_outline_get): Implemented
	vertical metrics outline
	(nr_typeface_gnome_glyph_advance_get): Ditto for advance

	* src/libnrtype/nr-type-directory.c: Cleaned up a lot, now we can hopefully
	work with multiple font sources

	* src/libnrtype/nr-type-directory.h: Moved namelist to nr-type-primitives

	* src/libnrtype/nr-type-primitives.c: New file

	* src/libnrtype/nr-type-primitives.h: New file

	* src/libnrtype/nr-type-ft2.c: New file

	* src/libnrtype/nr-type-ft2.h: New file

2002-11-09  Masatake YAMATO  <jet@gyve.org>

	* configure.in (AM_CONDITIONAL(USING_OAF)): moved to toplevel.
	(AM_PROG_AS): used to check gas/as.

	* src/toolbox.c (sp_update_draw_toolbox): tooltips
	are added to the buttons.
	(gtk_event_box_new_with_image_file_and_tooltips) 
	(gtk_event_box_force_draw_parent): New functions.

	* src/widgets/sp-menu-button.c 	(sp_menu_button_draw_arrow): New function.
	(sp_menu_button_draw): used sp_menu_button_draw_arrow.
	(sp_menu_button_expose): ditto.

2002-11-06  Masatake YAMATO  <jet@gyve.org>

	* src/helper/curve.c (sp_curve_new_from_bpath): Initialize substart
	field.
	(sp_curve_reverse): assert if bs->code is ART_MOVETO_OPEN 
	or ART_MOVETO.

	Added functions that converts multiple items to curves.
	* src/path-chemistry.c (sp_selected_item_to_curved_repr): 
	Use sp_selected_item_to_curved_repr0.
	(sp_selected_path_to_curves0): New function.
	(sp_selected_path_to_curves): New function.
	(SP_TOCURVE_*): Placeholders.

2002-11-05  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/export.c: Made glade-free dialog

	* src/file.c (sp_export_png_file): Make filename const

	* configure.in (CFLAGS): Added GCC warnings

2002-11-03  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/node-edit.c: Removed unused glade stuff

2002-11-04  Masatake YAMATO  <jet@gyve.org>

	* src/dialogs/xml-tree.c (sp_xml_tree_dialog): Added vpaned
	between sp_xmlview_attr_list_new and text fields.

2002-11-03  Lauris Kaplinski  <lauris@kaplinski.com>

	* Makefile.am (SUBDIRS): Removed macros

	* autogen.sh: Made self-contained

	* configure.in: Removed macros

	* src/widgets/sp-xmlview-tree.c: new file by MenTaLguY

	* src/widgets/sp-xmlview-content.c: new file by MenTaLguY

	* src/widgets/sp-xmlview-attr-list.c: new file by MenTaLguY

	* src/libnrtype/nr-type-directory.c: Parsing works for normal fonts

2002-11-02  Masatake YAMATO  <jet@gyve.org>

	* README: removed GYVE.

	* doc/keybindings.txt: added a item for stamping.

	* doc/architecture.txt: Fix a typo in a document.
	/ is forgotten in a sample svg.

	* src/rect-context.c (sp_rect_context_config_widget): Fix a typo in a 
	label.

2002-11-01  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/desktop.h: s/GtkEventBoxClass/SPViewClass/; thanks to MenTaLguY

	* configure.in (have_gnome_print): Gnome-print support can be disabled

	* src/libnrtype/Makefile.am (INCLUDES): SODIPODI_GNOME_PRINT_CFLAGS

	* src/Makefile.am (sodipodi_LDADD): Added SODIPODI_GNOME_PRINT_LIBS
	(INCLUDES): Same for CFLAGS

2002-10-31  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/font-selector.c (struct _SPFontSelector): Use NRNameListss
	(sp_font_selector_init): Setup family namelist
	(sp_font_selector_family_select_row): Setup style namelist
	(sp_font_selector_set_font): Use namelist

	* src/libnrtype/nr-type-directory.c (nr_type_directory_lookup): New method
	(nr_type_directory_style_list_get): Return list of full names

	* src/libnrtype/nr-typeface.h: Added full name, removed generic style query

2002-10-31  Masatake YAMATO  <jet@gyve.org>

	* src/sp-image.c (autotrace_dialog): invokeed frontline_init
	if it is defined. in-cvs version of frontline defines 
	frontline_init.

2002-10-27  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/curve.c (sp_bpath_clean): Fixed warning (thanks to MenTaLguY)

2002-10-26  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/text-edit.c (sp_text_edit_dialog_update_object): Make
	style srings lowercase before applying

	* src/dialogs/desktop-properties.c (sp_desktop_dialog_new): Added
	togglebutton for showing/hiding page border

	* src/desktop.c (sp_dt_namedview_modified): Show/hide page border

	* src/sp-namedview.c (sp_namedview_read_attr): Listen to "showborder"

2002-10-25  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/item-properties.c: Removed libglade dependency

2002-10-23  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: Added check for popt.h

	* src/dialogs/align.c: Removed libglade dependency

	* src/toolbox.c: Removed libglade dependency

2002-10-22  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/toolbox.c (sp_toolbox_button_new): Helper
	(sp_toolbox_toggle_button_new): Ditto
	(sp_toolbox_file_create): Degladeified method

	* src/file.c (sp_file_export_dialog): Frontend

	* src/toolbox.c (sp_toolbox_toggle_button_new): Helper
	(sp_toolbox_draw_create): Use previous

	* src/main.c: #include <desktop.h>

Mon Oct 21 13:31:41 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* configure.in: Fixed dependency bug.
	Removed --with/without-gnome-xml2 config option.

2002-10-21  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/sp-toolbox.c: Removed whole gtk.h inclusion

	* src/toolbox.c: Added missing headers

	* src/print.c (sp_print_image_R8G8B8A8_N): Implement
	(sp_print_preview): Remove root transform
	(sp_print_fill): Do not apply ctm twice

Mon Oct 21 02:11:08 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* autogen.sh: Fixed package version in echo message.

	* configure.in: Rewrite using PKG_CHECK_MODULES.
	It reduced verbose package checks.

	* src/main.c: Removed unused GNOME headers.

	* src/sp-ellipse.c: Ditto.

	* src/sp-image.c: Ditto.

	* src/toolbox.c: Ditto.

	* src/dialogs/align.c: Ditto.

	* src/dialogs/desktop-properties.c: Ditto.

	* src/dialogs/display-settings.c: Ditto.

	* src/dialogs/document-properties.c: Ditto.

	* src/dialogs/object-attributes.c: Ditto.
	
	* src/dialogs/object-properties.c: Ditto.

	* src/dialogs/stroke-style.c: Ditto.

	* src/dialogs/text-edit.c: Ditto.

	* src/dialogs/tool-attributes.c: Ditto.

	* src/dialogs/tool-options.c: Ditto.

	* src/helper/units.c: Ditto.

	* src/widgets/font-selector.c: Ditto.

	* src/widgets/gradient-selector.c: Ditto.

	* src/widgets/paint-selector.c: Ditto.

	* src/widgets/sp-color-selector.c: Ditto.

	* src/selection.c: Renamed release handler.

	* src/sp-gradient.c: Fixed non existence destroy signal bug.

	* src/sp-item.c: Ditto.

	* src/style.c: Ditto.

	* src/widgets/gradient-image.c: Ditto.

	* src/widgets/gradient-vector.c: Ditto.

	* src/sp-object.c: Cleanup.

Sun Oct 20 12:22:03 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* autogen.sh: Specify automake version to 1.6.1.

	* configure.in: Cleanup.

	* src/desktop-events.c: Cleanup and removed unused gnome header.

	* src/desktop.c: Ditto.

	* src/draw-context.c: Ditto.

	* src/dyna-draw-context.c: Ditto.

	* src/event-context.c: Ditto.

	* src/rect-context.c: Ditto.

	* src/spiral-context.c: Ditto.
	
	* src/star-context.c: Ditto.

	* src/file.c: Ditto.

	* src/help.c: Ditto.

	* src/main.c: Ditto.

	* src/sp-anchor.c: Ditto.

	* src/sp-item-group.c: Ditto.

	* src/sp-item.c: Ditto.

	* src/sp-rect.c: Ditto.

	* src/sp-shape.c: Ditto.

	* src/sp-spiral.c: Ditto.

	* src/sp-star.c: Ditto.

	* src/interface.c: Ditto.
	We lost icon for sp_about function.
	
	* src/sp-image.c: Cleanup and removed unused gnome header.
	Replaced by GtkDialog.

	* src/document.c: Ditto.

	* src/sodipodi.c: Ditto.

	* src/sp-namedview.c: Fixed bug that SPGuide was unrefed by
	gtk_object_unref.

	* src/sp-object.c: Fixed up release/disopse/finalize policy.
	We now got works again.
	(sp_object_class_init): Fixed object signal handler connection bug
	at release signal creation.

	* src/sp-pattern.c: Moved to g_object_unref.

	* src/sp-root.c (sp_root_release): Check if namedviews is NULL.

	* src/sp-text.c: Moved to g_object_unref.
	Removed unused gnome dependency.

	* src/svg-view.c: Moved to g_object_unref and
	g_object_get/set_data.

	* src/toolbox.c: Reverted from SPWrap to GtkTable.
	It's not a time to use SPWrap.

	* src/dialogs/export.c: Moved arena object to GObject functions.

	* src/dialogs/item-properties.c: Moved to g_object_unref.

	* src/dialogs/xml-tree.c: Cleanup.

	* src/display/nr-arena-glyphs.c: Moved from finalize to dispose.

	* src/display/nr-arena-group.c: Ditto.

	* src/display/nr-arena-image.c: Ditto.

	* src/display/nr-arena-item.c: Ditto.

	* src/display/nr-arena-shape.c: Ditto.

	* src/display/nr-arena.c: Ditto.

	* src/xml/sp-color-selector.c (sp_color_selector_init): Added
	GINT_TO_POINTER cast.

2002-10-20  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-compose-transform.c (nr_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_N_TRANSFORM):
	Use mmx subcomposers if needed

	* src/libnr/nr_mmx_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_N_TRANSFORM.S: New file

2002-10-19  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-compose-transform.c (nr_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_N_TRANSFORM_0):
	Split composer
	(nr_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_N_TRANSFORM_n): Ditto

2002-10-18  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr_mmx_R8G8B8A8_P_EMPTY_A8_RGBAP.S: new file

	* src/libnr/nr-path.c (nr_path_matrix_f_bbox_f_union): Moved bpath
	bbox calculation here
	(nr_curve_bbox): Rearrange comparisons

Thu Oct 17 15:25:43 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* Removed macros directory.

	* Makefile.am, autogen.sh, configure.in: Corresponding changes.

2002-10-17  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/sp-canvas.c: Use idle priority lower than Gtk redraw

	* src/display/nr-arena-shape.c (nr_arena_shape_pick): Use libnr
	distance7wind calculation, if item is not at render state
	(nr_arena_shape_update): Only update bbox, if render state is not
	needed. This gave us approximately 10x faster dragging of comlex shapes

	* src/libnr/nr-path.c (nr_line_wind_distance): New helper method
	(nr_curve_bbox_wind_distance): Ditto
	(nr_path_matrix_f_point_f_bbox_wind_distance): Fast method to find
	bbox and/or wind and/or distance to bezier path

2002-10-16  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/print.h: New file, frontend to printing

	* src/print.c: New file, frontend to printing

2002-10-15  Davide Puricelli  <evo@debian.org>

	* debian/*: Updated

2002-10-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-item.c (sp_item_invoke_print): Rename, signature change

	* src/sp-item.h: SPItem::print signature change

	* src/forward.h: Added SPPrintContext

	* src/libnr/testnr.c (main): Fill mask with blocks of transparent, opaque
	and random data. This should be closer to reality and (surprise!) gives better
	performance numbers too!

	* src/libnrtype/nr-typeface.c: Moved everyting to virtual method vector

Sun Oct 13 20:54:15 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* autogen.sh: Come from GNOME2.

Sun Oct 13 20:27:04 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/desktop-events.c, src/desktop.c,
	src/dialogs/object-properties.c:
	Moved gnome_pixmap_new_from_file to gtk_image_new_from_file.

	* src/draw-context.c: Replaced finalize with destory.

	* src/sp-polygon.c: Fixed property bug which did not work
	correctly.

	* src/widgets/sp-wrap-box.c, src/widgets/sp-wrap-box.h,
	src/widgets/sp-hwrap-box.c, src/widgets/sp-hwrap-box.h,
	src/widgets/sp-vwrap-box.c, src/widgets/sp-vwrap-box.h: New files.

	* src/widgets/test-wrapbox.c: New file.

	* src/widgets/Makefile.am: Added wrapbox stuffs.

	* src/widgets/.cvsignore: Added test-wrapbox.

	* src/widgets/sp-toolbox.c: Used g_signal_new instead of
	gtk_signal_new, because we need accumulater to control signal
	handler flow, and previous codes are not perfect.

Sun Oct 13 04:18:41 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sodipodi.c, sodipodi.h: sodipodi_get_elapsed_time()
	was useless, so removed.

	* src/knot.c: Replaced finalize with dispose.
	use GDK_CURRENT_TIME instead of sodipodi_get_elapsed_time().

	* src/select-context.c: Use GDK_CURRENT_TIME instead of
	sodipodi_get_elapsed_time().

	* src/style.c: Replaced destroy with release.

	* src/text-context.c: Replaced finalize with destory,
	because it's not a direct subclass of GObject.
	Replaced noisy gtk_signal_disconnect_by_data with
	g_signal_handlers_disconnect_matched.

	* src/toolbox.c: Use normal gtk_menu_item_set_submenu instead of
	original gtk_menu_popup callback.

	* src/sp-object.c: Fixed illegal signal emission.

	* src/selection.c:

	* src/dialogs/fill-style.c: Added required headler files.

	* src/dialogs/item-properties.c: Depressed warning.

	* src/display/canvas-arena.c: Use GDK_CURRENT_TIME instead of
	sodipodi_get_elapsed_time().

	* src/helper/sp-guide.c: Cleanup.

	* src/widgets/sp-menu-button.c: Use GDK_CURRENT_TIME instead of
	sodipodi_get_elapsed_time().
	Changed popup style.
	
2002-10-13  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/sp-canvas.c (uta_clear): Experimental method
	(paint): Return, if events pending (commented out)
	(do_update): Return value
	(idle_handler): Use update return value

	* src/libnr/testnr.c: Speed test

	* src/libnr/nr_mmx_R8G8B8_R8G8B8_R8G8B8A8_P.S: New file

	* src/helper/sp-canvas-util.c (sp_canvas_clear_buffer): Be quick

	* src/helper/sp-canvas.h: Moved update flags back here

	* src/display/canvas-arena.c (sp_canvas_arena_update): Sort updates according to affine (again)

	* src/libnr/have_mmx.S: New file (copied from gdk-pixbuf)

	* configure.in (use_mmx_asm): Check for mmx

	* src/libnr/nr-compose.c (nr_R8G8B8A8_P_R8G8B8A8_P_A8_RGBA32): Use mmx if present

	* src/libnr/nr_mmx_R8G8B8A8_P_R8G8B8A8_P_A8_RGBAP.S: Assembler code

2002-10-11  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/sp-canvas.h: Changed object type to SPCanvas, cleanup

	* src/helper/sp-canvas.c: Ditto

2002-10-10  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/sp-canvas.c: Local version of praised GnomeCanvas

	* src/helper/sp-canvas.h: Local version of praised GnomeCanvas

	* src/libnr/nr-gradient.c (nr_rgradient_render_generic_symmetric): Optimize

2002-10-09  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-blit.c (nr_blit_pixblock_mask_rgba32): New method

	* src/libnr/nr-gradient.c (nr_rgradient_renderer_setup): Do r == 0 correctly
	(nr_rgradient_render_generic_optimized): Optimize
	(nr_rgradient_render_block_end): New method

	* configure.in: Version 0.28pre

2002-10-09  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: Version 0.27

	* src/text-context.c (sp_text_context_root_handler): Only turn off unimode,
	if there really is string associated with key

2002-10-09  Masatake YAMATO  <jet@gyve.org>

	* src/sp-image.c (load_splines): changed the order
	of arguments. this change is for frontline-0.5.3.

	* configure.in: required frontline-0.5.3.
	To build sodipodi with frontline you have to get:
	http://autotrace.sourceforge.net/snapshots/autotrace-0.30.8.tar.gz
	http://autotrace.sourceforge.net/frontline/frontline-0.5.3.tar.gz

2002-10-08  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/gradient-position.c (sp_gradient_position_motion_notify): Do
	not mess with lineargradient skew

	* src/sp-ellipse.c (sp_arc_modified): Continue upstream

Mon Oct  7 01:41:23 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* Merged from HEAD branch.

2002-10-07  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-text.c: Moved frontends here

	* src/dialogs/node-edit.h: Moved declarations here

	* src/desktop.c (sp_desktop_widget_view_position_set): Use grid placement
	(sp_desktop_widget_namedview_modified): Read grid placement
	(sp_desktop_widget_update_rulers): Use grid placement
	(sp_desktop_set_coordinate_status): Disable, until sorted out

	* src/widgets/font-selector.c (sp_font_selector_set_font): Implement

	* src/libnrtype/nr-rasterfont.c (nr_rasterfont_ensure_glyph_slot): Oops, alloc
	and clear the right number of blocks

	* src/libnr/nr-compose.c (nr_R8G8B8_R8G8B8_A8_RGBA32): Implement
	(nr_R8G8B8_EMPTY_A8_RGBA32): Implement

	* src/libnr/nr-blit.c (nr_blit_pixblock_mask_rgba32): Implement

	* src/widgets/font-selector.c (sp_font_preview_expose): Implement
	(sp_font_preview_set_font): Ditto

	* src/libnr/nr-pixblock-pattern.h: New file

	* src/libnr/nr-pixblock-pattern.c: New file

2002-10-06  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/toolbox.c (sp_toolbox_draw_create): Do not expand/fill use correct name for text

	* sodipodi.spec.in: Update to cleaner version by Dag Vieers

	* src/sp-text.c (sp_text_is_empty): New method
	(sp_string_release): Use ::release, not ::destroy
	(sp_tspan_release): Ditto
	(sp_text_release): Ditto

	* src/text-context.c (sp_text_context_selection_changed): Forget text
	(sp_text_context_forget_text): New method, remove empty text item

	* src/sp-text.c (sp_tspan_build): Ensure there is always text child

	* src/sp-item-group.c (sp_group_bbox): Do not set bbox to 0,0,0,0

	* src/select-context.c (sp_select_context_root_handler): Set grabbed to NULL on release

	* src/path-chemistry.c (sp_selected_path_combine): Use item2root transform
	(sp_selected_path_break_apart): Ditto

	* src/sp-item.c (sp_item_i2root_affine): New method

	* src/widgets/gradient-position.c (sp_gradient_position_motion_notify): Reset
	gradient relative transform to symmetric rectilinear if dragging

	* src/style.c (sp_style_merge_ipaint): Use "release" signal
	(sp_style_read_ipaint): Ditto

	* src/sp-pattern.c (sp_pattern_read_attr): Use "release" signal

	* src/sp-item.c (sp_item_read_attr): Use "release" signal

	* src/sp-image.c (autotrace_dialog): Connect "release" instead of "destroy"

	* src/sp-gradient.c (sp_gradient_href_release): Use "release" instead of "destroy"

2002-10-06  suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>

	* src/libnr/Makefile.am (libnr_a_SOURCES): added
	nr-gradient.h. (nr-gradient.c appeared twice.)
        
2002-10-04  Masatake YAMATO  <jet@gyve.org>

	* src/widgets/font-selector.c: Inlucded stdlib.h for atof.

2002-10-05  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-gradient.c (nr_rgradient_renderer_setup): Use different base renderers
	(nr_rgradient_render_block_symmetric): Split frontend
	(nr_rgradient_render_block_optimized): Ditto
	(nr_rgradient_render_generic_optimized): Asymmetric renderer

	* src/sp-object.c (sp_object_invoke_release): new frontend
	(sp_object_detach): release object
	(sp_object_detach_unref): Ditto

	* src/sp-object.h: Added ::release virtual method

	* src/sp-object.c (sp_object_invoke_shutdown): New method

2002-10-04  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-item-group.c (sp_item_group_ungroup): Rewrite it, so it moves
	all non-items to main <defs> node, preserving logical order and building
	objects in correct sequence

	* src/desktop-affine.c: Methods for root coordinate system, fixes misplacement bug

	* src/libnrtype/nr-rasterfont.c: Made working

	* src/libnrtype/nr-font.c (nr_font_new_default): Do linking
	(nr_font_unref): Ditto

	* src/libnrtype/nr-type-directory.c (nr_typeface_unref): Moved here, implemented list

	* src/display/nr-arena-glyphs.c (nr_arena_glyphs_update): Port to rfont
	(nr_arena_glyphs_pick): Ditto (placeholder)
	(nr_arena_glyphs_set_path): Ditto
	(nr_arena_glyphs_fill_mask): Ditto

	* src/libnr/nr-matrix.h (NR_MATRIX_DF_EXPANSION): New macro
	(NR_MATRIX_DF_EXPANSION2): Ditto

2002-10-03  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-text.c (sp_text_set_shape): Make document insensitive temporarily

	* src/text-context.c (sp_text_context_root_handler): Allow entering
	unicode mode by Ctrl-u

2002-10-02  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-chars.c (sp_chars_add_element): Signature change
	(sp_chars_show): Ditto

	* src/display/nr-arena-glyphs.c (nr_arena_glyphs_group_add_component): Signature change

	* src/libnrtype/nr-rasterfont.c (nr_rasterfont_new): Set it up
	(nr_rasterfont_unref): Release glyph slots
	(nr_rasterfont_render_glyph_mask): Implement
	(nr_rasterfont_ensure_glyph_slot): New helper

	* src/sp-text.c: Port to new chars signature

	* src/sp-chars.h: Use font instead of typeface

	* src/libnr/nr-gradient.c (nr_lgradient_render_block): Signature change
	(nr_lgradient_renderer_setup): Use generic base class
	(nr_rgradient_renderer_setup): Ditto
	(nr_rgradient_render_block): Signature change

	* src/libnr/nr-render.h: New file

2002-10-01  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/text-edit.c (sp_text_edit_dialog_update_object): Use libnrtype
	(sp_text_edit_dialog_read_selection): Ditto
	(sp_text_edit_dialog_font_changed): Ditto

	* src/libnrtype/nr-type-directory.h: Implement NRNameList

	* src/libnrtype/nr-type-directory.c (nr_type_directory_lookup_fuzzy): Force lowercase
	(nr_type_directory_family_list_destructor): Implement
	(nr_type_directory_family_list_get): Ditto
	(nr_type_directory_style_list_destructor): Ditto
	(nr_type_directory_style_list_get): Ditto

	* src/widgets/font-selector.c: New file

	* src/widgets/font-selector.h: New file

	* src/libnrtype/nr-rasterfont.c: New file

	* src/libnrtype/nr-rasterfont.h: New file

	* src/libnr/nr-matrix.c (nr_matrix_f_set_scale): Correct signature

	* src/sp-text.c (sp_font_get_glyph_bbox): Use libnrtype
	(sp_font_get_glyph_advance): Ditto
	(sp_font_get_glyph_bbox_lr2tb): Ditto
	(sp_string_calculate_dimensions): Ditto
	(sp_string_set_shape): Ditto

	* src/sp-chars.c (sp_chars_destroy): Use libnrtype
	(sp_chars_bbox): Ditto
	(sp_chars_show): Ditto
	(sp_chars_clear): Ditto
	(sp_chars_add_element): Ditto
	(sp_chars_normalized_bpath): Ditto
	(sp_chars_do_print): Ditto

	* src/sp-chars.h (sp_chars_set_paintbox): Use libnrtype

	* src/libnrtype/nr-type-gnome.h: Placeholder

	* src/libnrtype/nr-type-directory.c: New file

	* src/libnrtype/nr-type-directory.h: New file

	* src/libnrtype/nr-font.c: New file

	* src/libnrtype/nr-font.h: New file

	* src/libnrtype/nr-typeface.c: New file

	* src/libnrtype/nr-typeface.h: New file

	* src/Makefile.am (SUBDIRS): Added libnrtype

	* src/libnr/nr-path.h: Placeholder

2002-09-30  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/gradient-position.c (spgp_clip_line): New method
	(spgp_draw_rect): Ditto

Sun Sep 29 14:17:31 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/knot.c, knot.h: Moved SPKnot from subclass of GtkObject
	to GObject.

	* src/knotholder.c: Ditto

	* src/seltrans.c: Ditto

	* src/selection.c: Migrated dispose to destroy for remainder.

	* src/desktop-events.c: Fixed to connect signal handler correctly.

	* src/desktop.c: Fixed to add button correctly.

	* src/sp-use.c: Depressed gchar * warnings.

	* src/sp-guide.c: Indented.

2002-09-29  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-gradient.c (sp_gradient_set_gs2d_matrix_f): Oops, write the right transform

	* src/widgets/gradient-position.c: Use new sensible internals

	* src/widgets/gradient-position.h: Ported to ne internals

	* src/widgets/paint-selector.c (sp_paint_selector_set_mode_gradient): Removed
	separate linear/radial optionmenu

	* src/widgets/gradient-selector.c (sp_gradient_selector_set_gs2d_matrix_f): New method
	(sp_gradient_selector_get_gs2d_matrix_f): Ditto
	(sp_gradient_selector_set_rgradient_position): Implement
	(sp_gradient_selector_init): Pax buttons under vector

	* src/widgets/gradient-position.c: New positioning syntax, lots of radial stuff

	* src/libnr/nr-matrix.h (NR_MATRIX_DF_TRANSFORM_X): Convenience macro
	(NR_MATRIX_DF_TRANSFORM_Y): Ditto

	* src/dialogs/object-properties.c (sp_object_properties_dialog): Shorten string

	* src/dialogs/stroke-style.c (sp_stroke_style_paint_update): Use new
	gradient widgets syntax
	(sp_stroke_style_paint_dragged): Ditto
	(sp_stroke_style_paint_changed): Ditto

	* src/dialogs/fill-style.c (sp_fill_style_widget_update): Use new gradient
	widgets syntax for bbox, transform, position
	(sp_fill_style_widget_paint_dragged): Ditto, use helper
	(sp_fill_style_widget_paint_changed): Ditto

	* src/sp-gradient.c (sp_gradient_get_gs2d_matrix_f): New method
	(sp_gradient_set_gs2d_matrix_f): Ditto
	(sp_gradient_write): Implement
	(sp_lineargradient_write): Ditto
	(sp_radialgradient_write): Ditto

	* src/select-context.c (sp_select_context_root_handler): Process button
	release only if grabbed

2002-09-28  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/gradient-vector.c (sp_gvs_rebuild_gui_full): Do not add id label

	* src/widgets/paint-selector.c (sp_paint_selector_init): Added radial button
	(sp_paint_selector_set_style_buttons): Set radial
	(sp_paint_selector_set_mode_gradient): Set correct button

	* glade/Makefile.am (pixmaps): Added fill_radial.xpm

Sat Sep 28 14:35:21 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/toolbox.c: Use gtk_window_set_resizable() instead of
	gtk_window_set_policy(), because it is deprecated in GTK+2.

	* src/file.c: Depressed warning on gnome_print_master_perview_new.

	* src/sp-object.h, sp-object.c: Added destroy signal and
	remove dispose signal.

	* src/selection.c, sp-gradient.c, style.c,
	src/widgets/gradient-vector.c: Moved dispose to destroy.

	* src/sp-guide.c: Added property.

	* src/helper/sp-guide.c: Added property.

	* src/sp-namedview.c: Moved gtk_object_unref to g_object_unref.

	* src/dialogs/text-edit.c: Removed some GNOME dependencies.

	* src/helper/gnome-utils.h gnome-utils.c: New file.
	Utilities to help to remove GNOME libraries.

	* src/interface.c: Moved some GNOME functions to gnome-utils.h.

2002-09-27  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/paint-selector.c (sp_paint_selector_get_gradient_position_floatv): Set radial

	* src/libnr/nr-pixblock-pixel.c (nr_compose_pixblock_pixblock_pixel): Kill
	division by zero, if fg and bg are both fully transparent

	* src/dialogs/fill-style.c (sp_fill_style_widget_update): Implement radial
	(sp_fill_style_widget_paint_dragged): Ditto
	(sp_fill_style_widget_paint_changed): Ditto

	* src/sp-gradient.c (sp_radialgradient_set_position): New method

	* src/gradient-chemistry.c (sp_gradient_ensure_radial_private_normalized): New method
	(sp_gradient_get_radial_private_normalized): Ditto
	(sp_item_force_fill_radialgradient_vector): Ditto
	(sp_item_force_stroke_radialgradient_vector): Ditto

2002-09-27  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/widgets/paint-selector.c (sp_paint_selector_set_gradient_radial): New method

	* src/widgets/gradient-position.c (sp_gradient_position_set_mode): New method
	(sp_gradient_position_update): Setup linear/radial renderer as needed

	* src/widgets/gradient-selector.c (sp_gradient_selector_set_mode): New method
	(sp_gradient_selector_set_lgradient_position): Renamed method
	(sp_gradient_selector_set_rgradient_position): Ditto
	(sp_gradient_selector_get_lgradient_position_floatv): Renamed method
	(sp_gradient_selector_get_rgradient_position_floatv): Ditto

	* src/libnr/nr-pixblock-pixel.c (nr_compose_pixblock_pixblock_pixel): Fixed
	R8G8B8 target to render channels separately

	* src/sp-gradient.c (sp_gradient_from_position_xy): Made gradient method,
	changed signature, added gradientTransform to list
	(sp_gradient_to_position_xy): Ditto

	* src/libnr/nr-pixblock-pixel.c: New file

	* src/libnr/nr-pixblock-pixel.h: New file

	* src/libnr/nr-gradient.c (nr_lgradient_renderer_setup): Use gradientspace
	(nr_lgradient_render_block): Use generic renderer, if no specific one
	(nr_lgradient_render_generic): Implement

	* src/sp-gradient.c (sp_gradient_render_vector_block_rgb): Compose correctly

	* src/libnr/nr-blit.c (nr_compose_pixblock_pixblock_pixel): Generic pixel composer

2002-09-26  Masatake YAMATO  <jet@gyve.org>

        * src/select-context.c (sp_select_context_root_handler):
        used sp_canvas_item_grab where I want to receive key_press event.
        (sp_select_context_item_handler): Ditto.

2002-09-26  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-gradient.c: New file

	* src/libnr/nr-gradient.h: New file

	* src/sp-gradient.c (sp_lineargradient_painter_new): Construct libnr renderer
	(sp_lg_fill): Use it
	(sp_radialgradient_painter_new): Construct renderer
	(sp_rg_fill): Use it

	* src/sp-shape.c (sp_shape_print): Clear pixelstore

	* src/sp-chars.c (sp_chars_print_bpath): Clear pixelstore before each rendering

	* src/sp-gradient.c (sp_rg_fill): Oops, moved declaration before statements
	(sp_rg_fill): Ditto

2002-09-25  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-compose.c (nr_R8G8B8A8_N_EMPTY_R8G8B8A8_P): Oops, evil bug

	* src/libnr/nr-rect.c (nr_rect_d_matrix_d_transform): New method
	(nr_rect_f_matrix_f_transform): Ditto

	* src/sp-object-repr.c (sp_object_type_lookup): Added <pattern>

	* src/sp-pattern.h: New file

	* src/sp-pattern.c: New file

	* src/Makefile.am (sodipodi_SOURCES): Added sp-pattern.[c,h]

	* src/sp-gradient.c (sp_rg_fill): Implement, seems correct although SLOW
	(sp_radialgradient_painter_new): Implement, except viewport percentages
	(sp_radialgradient_read_attr): Initialize right numbers
	(sp_radialgradient_init): Ditto

Tue Sep 24 01:01:21 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/interface.c (sp_ui_menu_append_item): Fixed to work well,
	even if label is exist and stock is not exist.

	* src/widgets/sp-menu-button.c (sp_menu_button_menu_position):
	Modified for popup menu calculation.

	* src/widgets/sp-toolbox.c: Added GTK_SIGNAL_FUNC cast.

2002-09-24  Masatake YAMATO  <jet@gyve.org>

	* src/select-context.c (sp_select_context_root_handler,
	sp_select_context_item_handler): used GDK_space instead
	of GDK_BUTTON_2. Added Lauris's event mask code after 
	grabbing an item.

	* src/seltrans.c (sp_sel_trans_handle_stamp): removed.
	(sp_seltrans_handle_event): handled "pressing space" as 
	stamping.
	(gdk/gdkkeysyms.h): included.

	* src/knot.c (sp_knot_class_init): removed "stamped" signal 
	again.
	(sp_knot_handler): didn't emit stamped anymore.

2002-09-24  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/nr-matrix.c (nr_matrix_d_set_scale): new method
	(nr_matrix_f_set_scale): Ditto

	* src/sp-use.c (sp_use_href_changed): Use unref instead of destroy
	(sp_use_destroy): Ditto

	* src/seltrans.c (sp_sel_trans_scale): Allow scaling in one dimension,
	if it is > 0.0
	(sp_sel_trans_scale_request): Snap in one dimension, if > 0.0

	* src/sp-path.c (sp_path_bbox): Allow empty bboxen

	* src/helper/art-utils.c (sp_bpath_matrix_d_bbox_d_union): Union always,
	even if computed bbox is empty

Mon Sep 23 01:37:09 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/widgets/sp-menu-button.c: Clean up code.

	* src/widgets/sp-menu-button.c (sp_menu_button_menu_position):
	In GTK+2, button widget share its window among toplevel window,
	so I fixed offset calculation.

	* src/knot.c: Clean up unused marshaller.

	* src/knotholder.c: Ported.

2002-09-23  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/sp-canvas-util.c (sp_canvas_item_grab): new method to
	circumvent GnomeCanvas bug

	* src/knot.c (sp_knot_handler): Use sp_canvas_item_grab

2002-09-23  Masatake YAMATO  <jet@gyve.org>

	* src/knot.c (sp_knot_class_init): Added "stamped" signal
	(sp_knot_handler): Emit it

	* src/select-context.c (sp_select_context_item_handler): Do stamping
	(sp_select_context_root_handler): Ditto

	* src/seltrans.c (sp_sel_trans_stamp): new method
	(sp_show_handles): Connect "stamped" signal
	(sp_sel_trans_handle_stamp): new handler

2002-09-23  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/seltrans.c (sp_seltrans_handle_event): Just here for my debugging

	* src/knot.c (sp_knot_handler): No ungrabbing, added TOP CANVAS HACK,
	so we can now get key events and do not kill Gdk

	* configure.in: Version 0.27pre

Sun Sep 22 22:06:57 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/desktop.c: add destroy call for GtkDialog.

	* src/sp-object.c, sp-polyline.c, style.c,
	src/display/canvas-area.c, src/widgets/gradient-image.c,
	gradient-vector.c: Ported and fixed.

	* src/sp-ruler.c: Bug fixed that
	misspelling s/GtkHRuler/SPHRuler/ and s/GtkVRuler/SPVRuler/.

	* src/widgets/sp-menu-button.c, sp-menu-button.h, src/toolbox.c:
	Found duplicated signal "activate".
	So, renamed SPMenuButton::activate to "activate-item" and
	did corresponding change for toolbox.c.

	* src/helper/sp-ctrlline.c: Avoid to duplicated free call for ctrlline->svp.

2002-09-22  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: Version 0.26

	* src/main.c: #include <locale.h>, thanks to Masatake

Sun Sep 22 22:21:14 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-ruler.c: Bug fixed that
	misspelling s/GtkHRuler/SPHRuler/ and s/GtkVRuler/SPVRuler/.

Sat Sep 21 03:02:21 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* Now, sodipodi can build and start up again (but often cause segv).

	* src/display/canvas-arena.c, nr-arena-glyphs.h, nr-arena.c:
	Ported.

	* src/dialogs/export.c, text-edit.c: Ported.

	* src/widgets/sp-color-slider.c, sp-menu-button.c: Ported.

	* src/*.c, *.h: Ported.

	* glade/*.glade: conveted to glade-2.

2002-09-21  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/fill-style.c (sp_fill_style_widget_new): Fill rule selector
	(sp_fill_style_widget_update): Update fill rule selector
	(sp_fill_style_widget_update_repr): Ditto
	(sp_fill_style_widget_fill_rule_activate): Set fill-rule

	* src/document.c (sp_document_new): Do not set style

	* src/xml/repr.c (sp_repr_merge): Duplicate node without id key

	* src/sp-path.c (sp_path_build): Set fill to none for old version open path

	* src/bonobo/embeddable-document.c (sp_embeddable_document_pf_load): New
	document constructor signature, thanks to Ted Gould
	(sp_embeddable_document_ps_load): Ditto
	(sp_embeddable_document_new): Ditto

	* src/help.c (sp_help_about): use sp_text_set_repr_multiline

	* src/style.c (sp_style_write_difference): Rewind pointer

	* src/sp-ellipse.c (sp_genericellipse_set_shape): Request modified
	(sp_arc_modified): Implement, write path attribute

2002-09-20  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-object.c (sp_object_private_write): Duplicate repr if needed

	* src/xml/repr-util.c (sp_repr_set_double_default): New method

	* src/sp-rect.c (sp_rect_write): Set default on radiuses

	* src/sp-root.c (sp_root_write): Set namespaces here

	* src/xml/repr.c (sp_repr_document_new): Set doctype and comment

	* src/xml/repr-io.c (sp_repr_read_file): Set doctype and comment if SVG
	(sp_repr_read_mem): Ditto
	(sp_repr_save_stream): Save doctype and comment

Thu Sep 19 19:24:04 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-marshal.*, src/Makefile.am: Removed old marshaller codes.

2002-09-19  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-text.c (sp_string_set_shape): Update position array
	(sp_text_get_cursor_coords): New method
	(sp_text_set_shape): Set tspan position to text, if unset; Limit block
	to tspans with unspecified role
	(sp_text_insert_line): Implement

	* src/text-context.c (sp_text_context_setup): Set blink to 250ms
	(sp_text_context_selection_modified): Implement, update cursor position
	(sp_text_context_selection_changed): Ditto
	(sp_text_context_root_handler): Cursor placement, insertion and deletion
	work as they should

	* src/display/nr-arena-shape.c (nr_arena_shape_update): Do not try to
	fill paths consisting of single lineto

	* src/gradient-chemistry.c (sp_gradient_ensure_private_normalized): Only keep
	if hrefcount == 1 (fixed bug)

	* src/style.c (sp_style_read): Only parse CMYK if RGBA present

2002-09-18  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-ellipse.c (sp_arc_set_elliptical_path_attribute): Lay 2PI arcs as 2 segments
	(sp_arc_write): Write SVG <ellipse> if it really is one

	* src/style.c (sp_style_write_ienum): We compare computed values, to
	avoid unnecessary setting of attributes
	(sp_style_merge_from_parent): Set only computed values for everything

	* src/helper/art-utils.c (sp_vpath_from_bpath_closepath): New method,
	borrowed relevant helpers from libart code

	* src/display/nr-arena-shape.c (nr_arena_shape_update): Closeall if filled,
	limit min width to 0.125 instead of cutting it to 0

2002-09-17  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/event-context.c (sp_event_context_destroy): Do not disconnect
	desktop signal, as there is no such
	(sp_event_context_new): Do not connect desktop signal

	* src/draw-context.c (sp_pencil_context_root_handler): Changed grabbing only
	to happen, if pointer is moved button-down. This changed irritating
	double-click total grab problem.
	(sp_pen_context_root_handler): Ditto

	* src/display/nr-arena-group.c (nr_arena_group_update): Multiply
	with group second transformation

	* src/display/nr-arena-group.h: Added child_affine member

	* src/sp-root.c (sp_root_read_attr): Use NRMatrixD for viewbox
	(sp_root_show): Implement, apply viewBox
	(sp_root_bbox): Ditto
	(sp_root_print): Ditto

	* src/sp-item.c (sp_item_i2doc_affine): Apply viewBox

Tue Sep 17 13:50:40 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/dialogs/stroke-style.c: A few fix from my office.

Mon Sep 16 21:31:33 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/display/*: Really done.
	
	* src/*: Half done, but partially adhock.

Mon Sep 16 14:22:10 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* Start migration to GTK+2 environment.

	* Makefile.am, configure.in, acconfig.h: Use pkgconfig, GLib2,
	Pango, GTK+2, GNOME2, etc.

	* src/dialogs/*: Done.

	* src/display/*: Done.

	* src/helper/*: Done.

	* src/svg/*: Done.

	* src/widgets/*: Done.

	* src/xml/*: Done.

	* src/*: Partialy done.

2002-09-16  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/png-write.c (sp_png_get_block_stripe): Helper
	(sp_png_write_rgba): Use striped writer
	(sp_png_write_rgba_striped): New method

	* src/dialogs/export.c (sp_export_get_rows): Renderer
	(sp_export_do_export): Use striped exporter

	* src/file.c: Added <time.h> - Thanks to Masatake for finding it

2002-09-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/display/nr-arena-image.c (nr_arena_image_render): Use libnr
	transformed composition methods

	* src/libnr/nr-compose-transform.c: New file

	* src/libnr/nr-compose-transform.h: New file

2002-09-15  Masatake YAMATO  <jet@gyve.org>

	* src/toolbox.c (sp_maintoolbox_drag_data_received): made
	it a static scoped function.
	(sp_maintoolbox_create): Connected sp_maintoolbox_drag_data_received
	to maintoolbox. (glade based version is obsoleted.)

	* src/toolbox.c (sp_maintoolbox_drag_data_received): removed 
	declaration.

2002-09-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/file.c (sp_file_save_as): Added "file type" optionmenu
	(sp_file_save_type_activate): Helper
	(file_save_ok): Save plain SVG if needed

	* src/sp-namedview.c (sp_namedview_write): Implement

	* src/sp-text.c (sp_text_write): Implement

	* src/sp-use.c (sp_use_write): implement

	* src/sp-root.c (sp_root_write): Implement

	* src/sp-polyline.c (sp_polyline_write): Implement

	* src/sp-line.c (sp_line_write): Implement

	* src/sp-image.c (sp_image_write): Implement

	* src/sp-gradient.c (sp_stop_write): Implement

	* src/sp-defs.c (sp_defs_write): Implement

	* src/sp-clippath.c (sp_clippath_write): Implement

	* src/sp-anchor.c (sp_anchor_write): Implement

	* src/sp-polygon.c (sp_polygon_write): new ::write syntax

	* src/sp-spiral.c (sp_spiral_write): New ::write syntax

	* src/sp-star.c (sp_star_write): New ::write syntax

	* src/sp-ellipse.c (sp_ellipse_write): New ::write syntax
	(sp_circle_write): Ditto
	(sp_arc_write): Ditto

	* src/sp-rect.c (sp_rect_write): New ::write syntax

	* src/sp-shape.c (sp_shape_write): New ::write syntax

	* src/star-context.c (sp_star_finish): New ::write syntax

	* src/spiral-context.c (sp_spiral_finish): New ::write syntax

	* src/knotholder.c (knot_moved_handler): new ::write syntax

	* src/sp-object.c (sp_object_invoke_write): Renamed and enhanced
	::write_repr method, can now construct trees and write plain SVG

	* src/sp-item-group.c (sp_group_write): Implement

2002-09-14  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/toolbox.c (sp_maintoolbox_menu_button_press): Construct main
	menu here dynamically

	* src/main.c (sp_main_console): Hide documents for nongui, slideshow

	* src/interface.c (sp_ui_file_menu): Recent list
	(sp_ui_main_menu): Ditto
	(sp_menu_append_recent_documents): New helper

	* src/help.c (sp_help_about): Hide document from list

	* src/file.c (sp_file_open): New method
	(sp_file_open_dialog): Renamed old sp_file_open

	* src/sodipodi.c (sodipodi_add_document): Emit "new_document"
	(sodipodi_remove_document): Emit "destroy_document", update recent list
	(sodipodi_segv_handler): Truncate filenames to sensible part

	* src/toolbox.c (sp_maintoolbox_open_one_file_with_check): Use sp_file_open

2002-09-13  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/draw-context.c (sp_pencil_context_root_handler): Clear anchors
	(spdc_finish_endpoint): Ditto
	(spdc_pen_finish): Ditto

	* src/document.h: Moved uri/base/name to main structure

	* src/draw-context.c (sp_pen_context_finish): Call parent method, fixes
	habit of crashing after using pen

2002-09-12  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/libnr/*: Started composing sensible library at last

	* src/document.c: Fix DTD typo

	* src/main.c (sp_main_gui): Moved setting LC_NUMERIC after gnome init
	(sp_main_console): Set LC_NUMERIC to "C" here too

2002-09-11  Lauris Kaplinski  <lauris@kaplinski.com>

	* configure.in: Version 0.26pre

	* src/display/Makefile.am (libspdisplay_a_SOURCES): Removed fill.[c,h] and stroke.[c,h]

2002-09-11  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/node-context.c (sp_node_context_item_handler): Do not
	select, if rubberband has been dragged

	* src/widgets/sp-menu-button.c (sp_menu_button_draw): Implement,
	draw small indication arrow here
	(sp_menu_button_expose): Ditto

	* src/helper/curve.c (sp_bpath_clean): New method
	(sp_curve_new_from_bpath): Clean bpath, if not good
	(sp_curve_new_from_static_bpath): Ditto
	(sp_curve_new_from_foreign_bpath): Ditto

	* src/macros.h: Some new macros

	* src/sp-object.c (sp_object_modified): Oops! Replaced '&&' with '&',
	this fixed super-slow rendering during drag bug

2002-09-10  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/selection-chemistry.c (sp_group_cleanup): Helper
	(sp_edit_cleanup): New method

	* src/path-chemistry.c (sp_path_cleanup): New method

	* src/draw-context.c (sp_draw_context_finish): Implement

	* src/seltrans.c (sp_sel_trans_ungrab): Do not set identity

	* src/sp-item-transform.c: Do not set identity transform

	* src/sp-text.c (sp_text_write_transform): Do not write identity

	* src/sp-rect.c (sp_rect_write_transform): Do not write identity

	* src/xml/repr.c (sp_repr_remove_listener_by_data): Oops, removed excess step

	* src/sp-shape.c (sp_shape_build): Force style rewrite for old versions

	* src/view.c (sp_view_widget_view_destroy): handler
	(sp_view_widget_set_view): Connect "destroy"

	* src/main.c (sp_do_export_png): Move exporting code here, implement
	--export-width, --export-height, --export-backround arguments

	* src/helper/nr-plain-stuff.c (nr_render_r8g8b8a8_r8g8b8a8_alpha): Implement
	using internal composer

	* src/sp-item.c (sp_item_paint): Render buffer instead of copy

2002-09-09  Masatake YAMATO  <jet@gyve.org>

	* src/sp-image.c (autotrace_dialog): Used 
	gtk_signal_connect_object_while_alive and 
	gtk_signal_connect_object instead of gtk_signal_connect_while_alive
	and gtk_signal_connect.
	(object_destroyed): Removed.
	(load_trace_result): ask the user whehter loading or net.

	* configure.in (AM_PATH_FRONTLINE): Check the version of frontline(>= 0.5.1).

2002-09-09  Zbigniew Chyla  <cyba@gnome.pl>

	* src/draw-context.c, src/dyna-draw-context.c, src/select-context.c,
	src/spiral-context.c, src/star-context.c,
	src/dialogs/tool-attributes.c, src/dialogs/tool-options.c,
	src/dialogs/xml-tree.c: Added <config.h>

2002-09-09  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/gradient-chemistry.c (sp_gradient_ensure_private_normalized): Normalize
	if flag is set, but hrefcount > 1
	(sp_item_force_fill_lineargradient_vector): Check for hrefcount
	(sp_item_force_stroke_lineargradient_vector): Ditto

	* src/interface.c: Added <config.h>

	* glade/toolbox.glade: Fixed non-ASCII character

2002-09-08  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/export.c (sp_export_do_export): Fixed affine

	* src/main.c (sp_main_console): Fixed affine

	* src/toolbox.c (sp_maintoolbox_create): Construct main window by hand

	* src/interface.c (sp_ui_main_menu): New method

	* src/help.c (sp_help_about): Use document width and height

	* src/svg-view.c (sp_svg_view_rescale): Use pixel coords
	(sp_svg_view_widget_size_request): Ditto

	* src/spiral-context.c (sp_spiral_context_config_widget): Implement
	(sp_spiral_context_setup): Ditto
	(sp_spiral_context_set): Ditto

	* src/star-context.c (sp_star_context_config_widget): Implement

	* src/desktop.c (sp_desktop_new): Use repr key for initial select context

	* src/select-context.c (sp_select_context_config_widget): Implement
	(sp_select_context_transform_toggled): Helper
	(sp_select_context_show_toggled): Ditto

	* src/display/nr-arena-shape.c (nr_arena_shape_update): Do not stroke,
	if width < 0.125

	* src/display/nr-arena-glyphs.c (nr_arena_glyphs_group_update): Use paintbox
	(nr_arena_glyphs_group_set_paintbox): New method
	(nr_arena_glyphs_update): Do not stroke if width < 0.125
	(nr_arena_glyphs_render): Do not render here
	(nr_arena_glyphs_fill_mask): New helper
	(nr_arena_glyphs_stroke_mask): Ditto
	(nr_arena_glyphs_group_update): Create painters here
	(nr_arena_glyphs_group_render): Render here

	* src/dialogs/tool-attributes.c (sp_tool_attributes_dialog_setup): Added
	SPSelectContext

	* src/dialogs/stroke-style.c (sp_stroke_style_paint_update): Use new gradient
	position widget logic
	(sp_stroke_style_paint_dragged): Ditto
	(sp_stroke_style_paint_changed): Ditto

	* src/dialogs/fill-style.c (sp_fill_style_widget_update): Use new gradient
	position widget logic
	(sp_fill_style_widget_paint_dragged): Ditto
	(sp_fill_style_widget_paint_changed): Ditto

	* src/sp-shape.c (sp_shape_show): Calculate and set paintbox
	(sp_shape_modified): Ditto

	* src/sp-gradient.c (sp_lineargradient_from_position): New method
	(sp_lineargradient_to_position): Ditto

	* src/sp-chars.c (sp_chars_print_bpath): Implement via nr plain buffers
	(sp_chars_set_paintbox): New method

	* src/seltrans.c (sp_sel_trans_shutdown): Destroy handles and canvasitems

	* src/seltrans.h: Added modifieable parameters

	* src/selection.c (sp_selection_bbox_document): New method

	* src/select-context.c (sp_select_context_set): Implement this

	* src/arc-context.c (sp_arc_finish): Oops, set sodipodi namespace

2002-09-07  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/style.c (sp_length_differ): Oops, if units differ check value

	* src/sp-paint-server.h: painter contructor signature change

	* src/display/nr-arena-shape.c: Remove group stuff
	(nr_arena_shape_set_paintbox): New method

	* src/display/nr-arena-shape.h: Remove group stuff

	* src/sp-object.c (sp_object_get_style_property): read presentation attr

	* src/sp-chars.c (sp_chars_style_modified): Use nr_arena_glyphs_group
	(sp_chars_show): Ditto
	(sp_chars_clear): Ditto
	(sp_chars_add_element): Ditto

	* src/sp-shape.c (sp_shape_modified): Set paintbox
	(sp_shape_style_modified): Use single nr_arena_shape
	(sp_shape_show): Ditto
	(sp_shape_remove_comp): Ditto
	(sp_shape_add_comp): Ditto

	* src/macros.h: Add total silencing

	* src/sp-gradient.c (sp_lineargradient_painter_new): Implement userSpaceOnUse
	except percentages (still not clear, what to do with those), but do
	bbox correctly

2002-09-06  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/text-edit.c (sp_text_edit_dialog_update_object): Generic method
	(sp_text_edit_dialog_set_default): New method
	(sp_text_edit_dialog_read_selection): Read defaults if no text
	(sp_text_edit_dialog_text_changed): Update default button
	(sp_text_edit_dialog_font_changed): Ditto
	(sp_text_edit_dialog_any_toggled): Ditto
	(sp_ted_get_selected_text_item): Helper

	* src/dialogs/tool-options.c (sp_tool_options_dialog_setup): Implement
	using sp_event_context_config_widget

	* src/event-context.h: Added ::config_widget virtual method

	* src/event-context.c (sp_event_context_config_widget): New method

	* src/dyna-draw-context.c (sp_dyna_draw_context_config_widget): new method

2002-09-05  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/stroke-style.c (sp_stroke_style_paint_construct): Handler
	(sp_stroke_style_paint_attr_changed): Ditto
	(sp_stroke_style_repr_get_style): Helper
	(sp_stroke_style_paint_update_repr): For SPRepr associated styles
	(sp_stroke_style_paint_changed): Write bare repr if needed
	(sp_stroke_style_line_construct): Handler
	(sp_stroke_style_line_attr_changed): Ditto
	(sp_stroke_style_line_update_repr): Alternate parser
	(sp_stroke_style_width_changed): Write repr if needed
	(sp_stroke_style_any_toggled): Ditto

	* src/dialogs/object-properties.c (sp_object_properties_dialog): build
	optionmenu for choosing between selection/tools

	* src/dialogs/fill-style.c (sp_fill_style_widget_new): Attach attr_changed
	(sp_fill_style_repr_get_style): Helper
	(sp_fill_style_widget_update_repr): Repr-associated version updater
	(sp_fill_style_widget_paint_changed): Write repr instead of item list if needed

	* src/widgets/sp-widget.c (spw_repr_attr_changed): Repr callback
	(sp_widget_new_global): Build from sodipodi
	(sp_widget_new_repr): Build from repr
	(sp_widget_construct_global): Constructor
	(sp_widget_construct_repr): Ditto

	* src/style.c (sp_style_new): New method
	(sp_style_read): Move evrything here
	(sp_style_read_from_object): Frontend
	(sp_style_read_from_repr): Ditto

2002-09-04  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-path.c (sp_path_build): Update SODIPODI-PATH-NODE-TYPES attribute

2002-09-03  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-text.c (sp_text_set_shape): Oooooooops, use MAX for bbox other corner

	* src/document.c (sp_document_new): Set docname attribute after build

	* src/sp-text.c (sp_text_find_version): Helper
	(sp_text_build): Build tspans etc. if 0.0 < version < 0.25

	* src/sp-ellipse.c (sp_arc_find_version): Helper
	(sp_arc_build): Per-version attributes
	(sp_arc_read_attr): Ditto

	* src/document.c (sp_document_new): Delay namespaces etc. to determine version
	(sp_document_new_from_mem): Ditto

	* src/document.h: Bring some members here

2002-09-02  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/stroke-style.c (sp_stroke_style_line_update): Make insensitive, if not stroked

	* src/sp-rect.c (sp_rect_write_transform): Adjust stroke width, if scale changes

	* src/sp-text.c: Port to SPSVGUnits

	* src/sp-root.c: Port to SPSVGLength, use pixels as basic units from now on

	* src/sp-rect.c: Port to SPSVGLength

	* src/sp-image.c: Port to SPSVGLength

	* src/sp-gradient.c: Port to SPSVGLength

	* src/sp-ellipse.c: Port to SPSVGLength

	* src/file.c (sp_do_file_print_to_printer): Fix px/pt ratio
	(sp_do_file_print_preview): Ditto

	* src/document.c (sp_document_width): Fix px/pt ratio
	(sp_document_height): Ditto
	(sp_document_new): Add sodipodi:version
	(sp_document_new_from_mem): Ditto

	* src/desktop.c (sp_desktop_init): Fix px/pt ratio in doc2dt matrix

	* src/svg/svg-length.c (sp_svg_length_read): New method
	(sp_svg_length_read_lff): Ditto
	(sp_svg_length_unset): Ditto

	* src/svg/svg-types.h: New file

	* src/dialogs/Makefile.am (libspdialogs_a_SOURCES): Added tool-options.[c,h]

2002-08-30  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-text.c (sp_text_set_shape): Do layouting here, so we can handle blocks

	* src/dialogs/text-edit.c (sp_text_edit_dialog): Layout radiobuttons
	(sp_text_edit_dialog_apply): Do layout
	(sp_text_edit_dialog_read_selection): Ditto

	* src/sp-text.c (sp_font_get_glyph_bbox): New helper
	(sp_font_get_glyph_advance): Ditto
	(sp_font_get_glyph_bbox_lr2tb): Ditto
	(sp_string_calculate_dimensions): Do vertical dimension correctly
	(sp_string_set_shape): Ditto

2002-08-29  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-text.c (sp_string_calculate_dimensions): New method

	* configure.in: Rewind required gnome-print version to 0.29

	* src/sp-object.h: Added viewport and user flags

	* src/style.c: Added functional 'text-anchor' property

	* src/style.h: Added functional 'text-anchor' property

	* src/svg/svg-color.c (sp_svg_read_color): Read rgb(r,g,b) variants

	* src/style.c: Created new IEnum type with immediate and computed members,
	ported font-style, font-variant, font-weight, font-stretch to it

	* src/sp-text.c (sp_string_set_shape): Use computed 'font-style' value

	* glade/Makefile.am (glade_DATA): Removed text-dialog.glade

	* src/dialogs/text-edit.c: Get rid of glade

2002-08-28  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/display/canvas-arena.c: Ref active item, so it does not disappear

	* src/style.c: Implement SPIFontSize and various helpers for it

	* src/sp-text.c: New font size type

	* src/sp-shape.c: 24-bit opacity scale

	* src/sp-item.c (sp_item_read_attr): Reread style for font-size

	* src/sp-image.c: 24-bit opacity scale

	* src/sp-chars.c: 24-bit opacity scale

	* src/gradient-chemistry.c: 24-bit opacity scale

	* src/file.c (sp_do_file_print_preview): Ensure up-to-date
	(sp_do_file_print_to_printer): Ditto

2002-08-27  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/export.c (sp_export_do_export): Fix affine (one more time)

	* src/sp-item.c (sp_item_paint): Ensure document is up-to-date

	* src/sp-chars.c (sp_chars_print_bpath): Use new transformed bpath bbox
	(sp_chars_bbox): Ditto

	* src/sp-path.c (sp_path_bbox): Use new transformed bpath bbox

	* src/helper/art-utils.c (sp_bpath_matrix_d_bbox_d_union): New method
	(sp_bpath_segment_bbox_d): Helper

2002-08-26  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/text-edit.c (sp_text_dialog_apply): Oops, set size, not some crap here

	* src/sp-chars.c (sp_chars_do_print): New direct method
	(sp_chars_print_bpath): Helper

	* src/gradient-chemistry.c (sp_item_repr_set_style_gradient): Set recursive

2002-08-25  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/text-context.c (sp_text_context_finalize): Do not use desktop here
	(sp_text_context_finish): Implement, release desktop stuff here

	* src/sp-text.c (sp_text_normalized_bpath): New method
	(sp_text_print): Implement, still needs SPChars method

	* src/sp-chars.c (sp_chars_normalized_bpath): New method

	* src/path-chemistry.c (sp_selected_path_to_curves): Convert the new text object

	* src/interface.c (sp_ui_file_menu): Use helpers, the right export dialog

	* src/draw-context.c (sp_pen_context_finish): Flush object
	(sp_pen_context_root_handler): Added 'BackSpace', should work OK now

	* src/event-context.c (sp_event_context_finish): New method and virtual method

	* src/desktop.c (sp_desktop_set_event_context): Finish eventcontext

	* src/helper/curve.c (sp_curve_backspace): New method

2002-08-24  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/helper/curve.c (sp_curve_append): Handle open/closed end and start

	* src/preferences-skeleton.h: Added pen tool, made AI style default

	* src/draw-context.c (sp_draw_context_setup): Set attach
	(sp_draw_context_root_handler): React to '+' key
	(spdc_set_attach): Set/clear append mode
	(spdc_attach_selection): Renamed
	(spdc_detach_selection): New method
	(spdc_reset_white): Only need white, not all colors
	(sp_pencil_context_root_handler): Destroy green anchor on release
	(sp_pen_context_setup): Handle "mode" attribute
	(sp_pen_context_set): Ditto
	(sp_pen_context_root_handler): Has now AI style (default) and click-click modes
	(spdc_pen_set_ctrl): Handle modes
	(spdc_pen_finish): New method

2002-08-23  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/sp-attribute-widget.h: It can now be attached to mere SPRepr too

	* src/dialogs/sp-attribute-widget.c (sp_attribute_widget_new_repr): New constructor
	(sp_attribute_widget_set_repr): New method
	(sp_attribute_table_new_repr): New constructor
	(sp_attribute_table_set_repr): New method

	* src/star-context.c (sp_star_context_set): Attribute reader
	(sp_star_context_setup): parse attributes

	* src/marshal.c (sp_marshal_NONE__STRING_BOOL): New method

	* src/interface.c (sp_ui_dialog_menu): Tool attributes menu

	* src/event-broker.c: Added event context node location

	* src/dyna-draw-context.c (sp_dyna_draw_context_set): Attribute reader
	(sp_dyna_draw_context_setup): Parse attributes

	* src/draw-context.h: Added selection member

	* src/view.c (sp_view_set_position): Frontend to virtual method
	(sp_view_set_status): Ditto

	* src/view.h: Added virtual methods for marking status and position

	* src/desktop.c (sp_desktop_widget_view_status_set): Moved status to
	parent container, where it belongs
	(sp_desktop_widget_view_position_set): Same for position
	(sp_desktop_widget_new): Listen status and position signals

	* src/dialogs/tool-attributes.c: New file

	* src/dialogs/tool-attributes.h: New file

2002-08-20  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dyna-draw-context.c: Removed control knot, as we do not attach to anything

	* src/xml/repr.c (sp_repr_unref): Implemented launching destroy listener

	* src/xml/repr-private.h: Added destroy listener

2002-08-19  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sodipodi.c (sodipodi_segv_handler): Do better names and inform user about these

	* src/selection-chemistry.c (sp_item_list_common_parent_group): Helper
	(sp_selection_raise): Made it to work with all item combinations
	(sp_selection_lower): Ditto, do not lower under non-items

	* src/sp-item-group.c (sp_group_order_changed): Fix item order calculation

2002-08-18  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/document-undo.c (sp_document_order_changed): Set correct action type

2002-08-17  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/selection-chemistry.c (sp_selection_ungroup): Use method from item group

	* src/sp-item-group.c (sp_item_group_ungroup): Preserve order and styles

	* src/style.c (sp_style_read_from_object): Synchronized with new style structure
	(sp_style_merge_property): Ditto
	(sp_style_merge_from_object_parent): Ditto
	(sp_style_merge_ipaint): Renamed
	(sp_style_write_string): New write semantics
	(sp_style_write_difference): New method
	(sp_text_style_write): New write semantics
	(sp_style_read_ifloat): Rename
	(sp_style_read_iscale30): Ditto
	(sp_style_read_ienum): Ditto
	(sp_style_read_istring): Ditto
	(sp_style_read_ipaint): Ditto
	(sp_style_write_ifloat): Signature, semantics and name change
	(sp_style_write_iscale30): Ditto
	(sp_style_write_ienum): Ditto
	(sp_style_write_istring): Ditto
	(sp_style_write_ipaint): Ditto
	(sp_paint_differ): Helper

	* src/style.h: Renamed inherited types, changed miterlimit to ifloat

	* src/color.c (sp_color_is_equal): New method

	* src/style.c (sp_style_merge_from_style_string): Accept (although warn)
	properties without end marker

	* src/dialogs/export.c (sp_export_do_export): Use correct transformation

	* src/main.c: Added command-line export functionality
	(main): Cleanup
	(sp_main_gui): Broke GUI-specific stuff here
	(sp_main_console): Same for console mode, implement export, use current dor for print

2002-08-16  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/toolbox.c (sp_maintoolbox_create): Moved draw toolbox to separate method
	(sp_toolbox_draw_set_object): Callback
	(sp_toolbox_draw_create): New method, create MenuButtons
	(sp_update_draw_toolbox): Use MenuButtons

	* src/event-broker.c: Added pen context, use pencil and pen instead of draw

	* src/draw-context.c: Break draw context into parent, pencil and pen

	* src/draw-context.h: Ditto

	* src/widgets/sp-menu-button.h: New file

	* src/widgets/sp-menu-button.c: New file, implement something similar to
	GtkOptionmenu, but with some sodipodi-specific sugar

	* glade/draw_pen.xpm: New file

	* src/draw-context.c (sp_draw_context_finalize): Destroy pen controls
	(sp_draw_context_setup): Setup pen controls
	(sp_draw_context_root_handler): Do pen stuff
	(spdc_pen_set_point): New helper
	(spdc_pen_set_ctrl): Ditto
	(spdc_pen_finish_segment): Ditto

	* src/helper/sp-ctrlline.c (sp_ctrlline_set_rgba32): New method

2002-08-15  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/toolbox.c (sp_update_draw_toolbox): Freehand keeps undo/redo sensitive now

	* src/document.c (sp_document_ensure_up_to_date): New method

	* src/draw-context.c (sp_draw_context_setup): Read selection data
	(sp_draw_context_root_handler): Use colors for freehand, place green anchor
	(spdc_selection_changed): Use read_selection
	(spdc_selection_modified): Ditto
	(spdc_read_selection): New method
	(spdc_add_freehand_point): Ditto
	(spdc_concat_colors_and_flush): Check, whehter green anchor exist, do contiguous append
	(fit_and_split): Use continious append
	(sp_draw_anchor_destroy): Signature change

2002-08-14  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/draw-context.c (sp_draw_context_destroy): Do not destroy start and end anchors
	(sp_draw_context_selection_modified): Save white curves in desktop coordinates
	(sp_draw_context_root_handler): Use state indicator, change addline modes on release
	(spdc_concat_colors_and_flush): Use continuous append
	(spdc_flush_white): Translate everything to item coordinates here

	* src/draw-context.h: Replace booleans with single state indicator

	* src/helper/curve.c (sp_curve_transform): New method
	(sp_curve_append_continuous): New method

2002-08-12  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/draw-context.c (spdc_finish_endpoint): Cleanup
	(spdc_flush_white): Do concat, create object if needed, do red->white transform if needed
	(spdc_clear_red_data): Helper

	* src/draw-context.h: Member rename

	* src/helper/curve.c (sp_curve_append): Append the whole curve, not just last segment
	(sp_curve_concat): Set lengths etc. correctly, fixes draw crash

2002-08-08  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/text-edit.c (sp_text_dialog_apply): Why there were strdups here?

	* src/style.c (sp_style_read_from_object): Cleanup font-family and font-size
	(sp_style_merge_property): Ditto
	(sp_style_merge_from_object_parent): Ditto
	(sp_text_style_write): Ditto
	(sp_style_read_inherited_float): New helper
	(sp_style_read_inherited_string): Ditto
	(sp_style_write_inherited_float): Ditto
	(sp_style_write_inherited_string): Ditto

	* src/sp-text.c (sp_text_set_repr_text_multiline): Set roles and line positions

2002-08-07  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-text.c (sp_text_read_attr): Request relayout
	(sp_text_child_added): Ditto
	(sp_text_remove_child): Ditto
	(sp_text_modified): Check, whether relayout is needed
	(sp_text_request_relayout): Helper

	* src/style.c (sp_style_merge_from_object_parent): Inherit font size (still wrong)

	* src/text-context.c (sp_text_context_root_handler): Allow control key
	to be passed, send nonbreaking space for Ctrl+Space

	* src/sp-text.c (sp_string_set_shape): Try to collect spaces across item boundaries
	(sp_tspan_set_shape): Ditto
	(sp_text_set_shape): Ditto

2002-08-05  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/text-context.c (sp_text_context_root_handler): Use sp_text_append

	* src/sp-text.c (sp_text_append): New method

2002-07-31  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/text-context.c (sp_text_context_finalize): Use it instead of ::destroy
	(sp_text_context_setup): Create cursor
	(sp_text_context_root_handler): Show cursor
	(sp_text_context_selection_changed): Update cursor
	(sp_text_context_timeout): Blink handler

	* src/text-context.h: Added cursor

2002-07-30  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/Makefile.am (sodipodi_SOURCES): Added macros.h

	* src/sp-text.c (sp_text_write_transform): Do multiline transforming
	the right way

	* src/macros.h: New file for useful macros

2002-07-29  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-text.c (sp_tspan_build): Get attributes at right place, read role as well
	(sp_tspan_read_attr): Parse "sodipodi:role" attribute
	(sp_text_append_line): New method

	* src/sp-text.h: Specify role for <tspan> element

2002-07-26  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-text.c (sp_string_set_shape): Changed signature, pass layout and currentpoint
	(sp_tspan_set_shape): New method
	(sp_text_build): Use normal order, as shape will be set asynchronously
	(sp_text_read_attr): Request update everywhere
	(sp_text_child_added): Fix bug, now keep old children in list
	(sp_text_set_shape): New method, nothing interesting yet

	* src/text-context.c (sp_text_context_selection_changed): Set active object
	to NULL, if nothing selected

2002-07-24  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/sp-object.c (sp_object_modified): Merge style with parent if needed,
	moved style_modified after signal

	* src/sp-text.c (sp_tspan_modified): Include style flag in cascade
	(sp_text_modified): Ditto
	(sp_string_modified): Re-enable it (although this is probably not correct)

	* src/style.c (sp_style_merge_from_object_parent): Merge writing mode

	* src/sp-item-group.c (sp_group_modified): Include style flag in cascade

	* src/sp-gradient.c (sp_gradient_modified): Include style flag in cascade

2002-07-22  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/style.c (sp_style_new_from_object): Renamed sp_style_new
	(sp_style_read_from_object): Use SP_SCALE30 for opacity, new paint structure
	(sp_style_merge_property): Ditto
	(sp_style_merge_from_object_parent): Renamed sp_style_merge_from_object,
	read only from immediate parent (which should have merged from ancestors itself)
	(sp_style_write_string): Use SP_SCALE30 for opacity, new paint structure
	(sp_style_clear): Ditto
	(sp_style_set_opacity): Ditto
	(sp_style_read_inherited_scale30): New method
	(sp_style_write_inherited_scale30): Ditto
	(sp_style_read_inherited_paint): Renamed, parse "inherit" value
	(sp_style_write_inherited_paint): Ditto, write it
	(sp_style_merge_inherited_paint): Do hunref here
	(sp_style_set_fill_color_rgba): Do hunref instead of gtk_object_unref, new structure
	(sp_style_set_fill_color_cmyka): Ditto
	(sp_style_set_stroke_color_rgba): Ditto
	(sp_style_set_stroke_color_cmyka): Ditto
	(sp_style_read_color_cmyk): Helper method here
	(sp_style_merge_from_style_string): Renamed method

	* src/style.h: Created new 30-bit scaled value type, used for opacity
	Renamed SPPaint to SPInheritedPaint

Sat Jul 13 19:47:16 2002 Davide Puricelli <evo@debian.org>
	
	* po/ja.po: Updated, thanks Junichi Uekawa <dancer@netfort.gr.jp>

Sat Jul 13 05:52:15 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-item-group.c (sp_group_bbox): Fixed group selection bug -
	thanks to Ted Gould and his bug report.

2002-05-20  Lauris Kaplinski  <lauris@ximian.com>

	* src/xml/repr-io.c (sp_repr_svg_read_node): Add namespaces back -
	thanks to Pawel

	* src/dialogs/xml-tree.c: Complete refactoring by Pawel Palucha

	* src/document.c (sp_document_lookup_id): Check values

2002-04-21  Masatake YAMATO  <jet@gyve.org>

        * src/toolbox.c (sp_maintoolbox_open_files): Use 
        gnome_uri_list_extract_filenames.

        * src/interface.c (sp_ui_import_files): Ditto.

2002-04-19  Lauris Kaplinski  <lauris@ximian.com>

	* src/text-context.c (sp_text_context_root_handler): Port to new
	text object (incomplete)
	(sp_text_context_selection_changed): Ditto

	* src/sp-text.c: Lot of new stuff, shows something on screen at last

	* src/sp-object.c (sp_object_modified): Do not allow reentrancy
	- think SPText will like it

	* src/sp-item.c: Removed sp_item_update and virtual method

	* src/sp-item-group.c: Removed ::update method

2002-04-17  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-rect.c (sp_rect_rx_set): Make argument const, kill warning
	(sp_rect_ry_set): Ditto

2002-04-12  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-text.h: Broke into SPText, SPTSpan and SPString objects

	* src/sp-text.c (sp_text_build): Build <tspan> and TEXT elements

	* src/forward.h: Moved SPText and SPTSpan here

2002-04-08  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-item.h: Changed ::bbox signature

	* src/sp-item.c (sp_item_invoke_bbox): New generic method
	(sp_item_bbox_desktop): renamed old method

	* src/display/nr-arena-glyphs.c: Ditto

	* src/display/nr-arena-glyphs.h: New file

	* src/sp-chars.c (sp_chars_get_type): Change parent class
	(sp_chars_class_init): Ditto
	(sp_chars_destroy): New elements structure
	(sp_chars_style_modified): New virtual method
	(sp_chars_bbox): Ditto
	(sp_chars_show): Ditto
	(sp_chars_print): Ditto (not implemented)
	(sp_chars_clear): New structure
	(sp_chars_add_element): Ditto

	* src/sp-chars.h: Derive directly from item instead of shape

	* src/dialogs/align.c (sp_quick_align_arrange): New bbox logic

	* src/dialogs/export.c (sp_export_drawing): New bbox logic

Sun Apr  7 01:37:29 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/style.c: (sp_style_read_from_object): Fixed to work stroke-cmyk.

	* src/sp-item.c: (sp_item_read_attr): Ditto

2002-04-06  Lauris Kaplinski  <lauris@ximian.com>

	* src/xml/repr-io.c (sp_repr_read_file): Use new signature
	(sp_repr_read_mem): Ditto
	(sp_repr_qualified_name): New method
	(sp_repr_svg_read_node): Signature change, create text nodes

	* src/xml/repr-util.c (sp_xml_document_createTextNode): New method
	(sp_xml_document_createElement): Ditto
	(sp_xml_document_createElementNS): Ditto
	(sp_xml_node_get_Document): Ditto
	(sp_xml_element_setAttributeNS): Ditto

	* src/xml/repr.c (sp_repr_new_from_code): Set type

	* src/svg/svg-length.c (sp_svg_read_number_f): New method with right signature
	(sp_svg_read_number_d): Ditto

	* src/style.c (sp_style_privatize_text): New method
	(sp_style_merge_property): Moved text properties here

	* src/sp-text.c (sp_text_init): No properties
	(sp_text_build): No style anymore
	(sp_text_style_modified): New virtual method
	(sp_text_font_weight_to_gp): Helper
	(sp_text_font_italic_to_gp): Ditto
	(sp_text_set_shape): Use style properties, hackish support for vertical writing

	* src/sp-text.h: Removed properties from object, as these are handled by style

2002-04-04  Lauris Kaplinski  <lauris@ximian.com>

	* src/helper/canvas-bpath.c (sp_canvas_bpath_init): Can be filled now
	(sp_canvas_bpath_destroy): Ditto
	(sp_canvas_bpath_update): Ditto
	(sp_canvas_bpath_render): Ditto
	(sp_canvas_bpath_point): Ditto
	(sp_canvas_bpath_set_fill): New method
	(sp_canvas_bpath_set_stroke): Name change

	* src/display/nr-arena-shape.c (nr_arena_shape_render): No real_opacity
	anymore

	* src/sp-shape.c (sp_shape_print): No real opacity anymore

	* src/dyna-draw-context.c (sp_dyna_draw_context_setup): Port to
	canvas bpath instead of canvas shape
	(clear_current): Ditto
	(fit_and_split_line): Ditto
	(fit_and_split_calligraphics): Ditto
	(draw_temporary_box): Ditto

	* src/draw-context.c (sp_draw_context_setup): Port to new canvas bpath
	(fit_and_split): Ditto

	* src/dialogs/item-properties.c: Removed #ifdef 0 code

	* src/style.c (sp_style_new): Require object validity
	(sp_style_merge_property): Moved actual code to new method
	(sp_style_merge_from_string): Does not clear style anymore, thus name change
	(sp_style_paint_server_modified): Use sp_object_request_modified
	(sp_style_set_fill_color_rgba): Request modified
	(sp_style_set_fill_color_cmyka): Ditto
	(sp_style_set_stroke_color_rgba): Ditto
	(sp_style_set_stroke_color_cmyka): Ditto
	(sp_style_set_opacity): Ditto
	(sp_style_property_index): New enumerated property codes

	* src/sp-shape.c (sp_shape_style_modified): Renamed method

	* src/sp-item.c (sp_item_read_attr): Use sp_object_request_modified
	(sp_item_style_modified): Renamed method, otherwise same

	* src/sp-item-group.c (sp_group_class_init): No ::style_changed anymore

	* src/sp-object.c (sp_object_request_modified): Accept style modification
	flag (but not alone)
	(sp_object_modified): Ditto, invoke ::style_changed if needed

	* src/sp-object.h (SP_OBJECT_STYLE_MODIFIED_FLAG): New flag - we now
	collect style modifications into single-step async apply too

Sun Mar 31 19:09:25 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-rect.c (sp_rect_*_set): Fixed a little.

2002-03-22  Davide Puricelli <evo@debian.org>
	
	* Updated debian/ directory, synced with Debian unstable.

2002-03-18  Lauris Kaplinski <lauris@ximian.com>

	* configure.in: Disabled frontline check, until I find time
	to make it to work without frontline too

2002-03-18  Masatake YAMATO  <jet@gyve.org, masata-y@maa.spacetown.ne.jp>

	* src/toolbox.h (sp_maintoolbox_drag_data_received): New
	declaration.

	* src/toolbox.c (sp_maintoolbox_open_one_file) 
	(sp_maintoolbox_open_files, sp_maintoolbox_drag_data_received): 
	New functions.
	(sp_maintoolbox_create): Invoked gtk_drag_dest_set 
	against ui.
	(toolbox_drop_target_info, toolbox_drop_target_entries,
	ENTRIES_SIZE, ntoolbox_drop_target_entries): New constants
	and macros for DnD.

	* src/interface.c (sp_ui_import_one_file, sp_ui_import_files) 
	(sp_ui_drag_data_received): New functions.
	(sp_create_window): sp_ui_drag_data_received is connected
	to "drag_data_received" of ui. Invoked gtk_drag_dest_set 
	against ui.
	(nui_drop_target_entries, ENTRIES_SIZE, ui_drop_target_entries,
	ui_drop_target_info): New constants and macros for DnD.

	* glade/toolbox.glade: sp_maintoolbox_drag_data_received is
	connected to drag_data_received of maintoolbox.

2002-03-18  Masatake YAMATO  <jet@gyve.org, masatake@maa.sst.ne.jp>

	* configure.in (ENABLE_AUTOTRACE): Check Frontline.

	* acconfig.h: Added ENABLE_AUTOTRACE.

	* src/sp-image.c: Added code that supports Frontline.
	New codes are wrapped by ENABLE_AUTOTRACE. 

Tue Mar 19 02:30:40 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* New SPRect rx, ry editing feature in node context.

	* src/sp-rect.c (sp_rect_rx_get): New method for KnotHolder
	(sp_rect_rx_set): Ditto
	(sp_rect_ry_get): Ditto
	(sp_rect_ry_set): Ditto
	(sp_rect_knot_holder): Ditto
	(sp_rect_write_repr): New method
	(sp_rect_glue_set_shape): Ditto

2002-03-14  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>

	* configure.in: Added "sk" to ALL_LINGUAS.

Sun Mar 10 21:00:01 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/document.c (sp_document_partial_items_in_box):
	New method. Return list of items, that the parts of the item
	containd in box.

	* select-context.h: Add button_press_shift attribute

	* select-context.c: (sp_select_context_root_handler):
	New feature to select items which is partially contained in
	rubberband box with shift key.

Wed Mar  6 01:52:09 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* Support open/closed arc feature. We can edit it on node edit.
	
	* src/sp-ellipse.c (sp_genericellipse_side): New method to
	determine point is inside or outside.
	(sp_arc_start_set): Add is_closed feature
	(sp_arc_end_set): Ditto

	* src/sp-ellipse.h: Add SPArc::is_closed attribute

	* src/preferences-skeleton.h: Modified arc style

	* src/arc-context.c: Ditto


2002-03-05  Lauris Kaplinski  <lauris@ximian.com>

	* src/display/nr-arena-shape.c (nr_arena_shape_pick): Use delta (tolerance)

	* src/display/canvas-arena.c (sp_canvas_arena_update): Use global delta (tolerance)
	(sp_canvas_arena_point): Ditto
	(sp_canvas_arena_event): Ditto

	* src/display/nr-arena-item.c (nr_arena_item_invoke_pick): Changed
	virtual method signature

	* src/dialogs/display-settings.c (sp_display_dialog_cursor_tolerance_changed): Implement
	(sp_display_dialog_new): Create pick tolerance spinbutton

	* src/view.c (sp_view_shutdown): New method and signal
	(sp_view_request_redraw): New virtual method

	* src/sodipodi.c (sodipodi_refresh_display): Use sp_view_request_redraw

	* src/interface.c (sp_ui_delete): Use sp_view_shutdown
	(sp_ui_menu_append_item): Helper
	(sp_ui_file_menu): New method
	(sp_ui_edit_menu): Ditto
	(sp_ui_selection_menu): Ditto
	(sp_ui_view_menu): Ditto
	(sp_ui_event_context_menu): Ditto
	(sp_ui_dialog_menu): Ditto
	(sp_ui_generic_menu): Ditto

	* src/file.c (sp_file_exit): Use sodipodi_exit method

	* src/event-context.c (sp_event_root_menu_popup): Use sp_ui_generic_menu

	* src/desktop.c (sp_desktop_request_redraw): New virtual method implementation
	(sp_desktop_widget_set_focus): Do that widget method instead

	* src/desktop-events.c (sp_dt_ruler_event): Do not use desktop->owner

	* src/Makefile.am (INCLUDES): -DSODIPODI_PIXMAPDIR

Mon Mar  4 01:23:05 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-ellipse.c (sp_genericellipse_normalize): Fixed start and
	end arg conditions.
	(sp_arc_start_set): Added per pi/4 radian constraint with control key.
	(sp_arc_end_set): Ditto

Sun Mar  3 03:40:07 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* Merged from ge-arc-branch
	
	* src/sp-ellipse.h (SPArc): New class

	* src/sp-ellipse.c (sp_arc_*): New methods

	* src/arc-context.c: New event context for SPArc. Mainly it is
	renamed from ellipse-context.c.
	So we should remove ellipse-context.c later.

	* src/arc-context.h: Ditto

	* glade/draw_arc.xpm: New pixmap file for draw arc tool.
	Now, we does not need draw_ellipse.xpm.

	* src/pixmaps/cursor-arc.xpm: Ditto

2002-02-25  Lauris Kaplinski  <lauris@ximian.com>

	* src/helper/curve.c (sp_curve_append): Do not requite non-empty curves

	* src/draw-context.c (fit_and_split): Commetn out boundary checks

	* src/document.c (sp_document_idle_handler): Bring up uncommited undo
	warning, if compiled with debug
	(sp_action_print_pending_list): Debug method
	(sp_document_warn_undo_stack): Ditto

	* src/document-private.h: Moved idel_id into base struct

2002-02-23  Lauris Kaplinski  <lauris@ximian.com>

	* src/helper/units.c (sp_points_get_units): New method
	(sp_units_get_points): Ditto

	* src/dialogs/object-properties.c: Made layout dynamic

	* src/document-undo.c (sp_document_private_done): New static method
	(sp_document_done): Just a wrapper
	(sp_document_maybe_done): Implement the real thing

	* src/document-private.h: Moved document definition here

2002-02-21  Lauris Kaplinski  <lauris@ximian.com>

	* src/dialogs/stroke-style.c (sp_stroke_style_any_toggled): Handle
	cap/join style changes
	(sp_stroke_style_widget_new): Create cap/join togglebuttons
	(sp_stroke_style_widget_update): Set cap/join selector activity
	(sp_stroke_style_set_join_buttons): New method
	(sp_stroke_style_set_cap_buttons): Ditto

2002-02-19  Lauris Kaplinski  <lauris@ximian.com>

	* src/dialogs/stroke-style.c: New file

	* src/dialogs/stroke-style.h: New file

	* src/helper/units.c (sp_distance_get_units): New method
	(sp_distance_get_points): Ditto

	* src/helper/units.h: Moved SPDistance here

	* src/style.h: Moved SPDistance to units.h

	* src/display/nr-arena-shape.c (nr_arena_shape_render): Render gradient
	strokes as well

	* src/dialogs/object-properties.c: Start rewriting to use dynamic
	fill/stroke widgets instead of original glade dialog

	* src/dialogs/stroke-style.h: New file

	* src/dialogs/stroke-style.c: New file

	* src/gradient-chemistry.c (sp_style_change_property): Reimplement,
	hopefully the correct way now

	* src/widgets/gradient-position.c (sp_gradient_position_update): Pre
	build local renderer here 

	* src/helper/nr-gradient.c (nr_lgradient_renderer_setup_r8g8b8a8): Do
	not allocate renderer, allow using static ones too
	(nr_lgradient_renderer_setup_r8g8b8): Ditto

	* src/widgets/paint-selector.c (sp_paint_selector_set_style_buttons): Do not
	activate pattern and fractal fill buttons

2002-02-18  Lauris Kaplinski  <lauris@ximian.com>

	* src/widgets/paint-selector.c: Lot of rearrangements everywhere -
	I am too tired to write all these down. Basically we have one frontend
	megawidget SPPaintSelector, that interfaces to colors, gradient and more.

2002-02-10  Lauris Kaplinski  <lauris@ximian.com>

	* src/desktop.c (sp_desktop_widget_destroy): Removed stale signal
	disconnect (no idea what it was originally for)

2002-02-09  Lauris Kaplinski  <lauris@ximian.com>

	* configure.in: Removed rbuf, frgba, new font checks and arena switch

	* src/sp-namedview.c (sp_namedview_setup_grid_item): Grid settings are
	always in points, units are there just for user preference
	(sp_namedview_read_attr): Ditto

	* src/desktop-snap.c (sp_desktop_horizontal_snap): Read snap distances
	from new desktop members
	(sp_desktop_vertical_snap): Ditto
	(sp_desktop_vector_snap): Ditto
	(sp_desktop_circular_snap): Ditto

	* src/desktop-handles.c (sp_desktop_canvas): Update to new desktop structure

	* src/sodipodi.c (sodipodi_activate_desktop_private): Default method
	implementation to chain activation signal on desktop
	(sodipodi_desactivate_desktop_private): Ditto

	* src/desktop.c (sp_desktop_new): Owner does not have document pointer
	any more, so had to change signature here
	(sp_desktop_widget_init): Moved activation signals to public constructor
	(sp_dtw_desktop_activate): Activation signal handler
	(sp_dtw_desktop_desactivate): Ditto
	(sp_desktop_widget_new): Use desktop "activate" and "desactivate" signals
	instead of sodipodi ones, signature change
	(sp_desktop_class_init): Added "activate" and "desactivate" signals

	* src/dialogs/display-settings.c: Removed glade, made mostly dynamic

	* src/sodipodi.c (sodipodi_remove_desktop): Emit "destroy_desktop" if
	destroyed one was not active too
	(sodipodi_refresh_display): Convenience method

2002-02-08  Lauris Kaplinski  <lauris@ximian.com>

	* src/dialogs/document-properties.c: Do not use glade anymore, made
	everything dynamic

	* src/helper/canvas-grid.c (sp_grid_hline): Use helpers from ctrlrect
	(sp_grid_vline): Ditto
	(sp_cgrid_render): Render real grid instead of dots

	* src/xml/repr-util.c (sp_repr_get_boolean): Saner conveninence method
	(sp_repr_get_int): Ditto
	(sp_repr_get_double): Ditto
	(sp_repr_set_boolean): Ditto
	(sp_repr_set_int): Ditto
	(sp_repr_set_double): Ditto

	* src/svg/svg-length.c (sp_svg_read_length): Added meter

	* src/dialogs/sp-attribute-widget.c (sp_attribute_widget_changed): Kill warning
	(sp_attribute_widget_set_object): Ditto
	(sp_attribute_widget_object_modified): Ditto
	(sp_attribute_table_set_object): Ditto
	(sp_attribute_table_object_modified): Ditto
	(sp_attribute_table_entry_changed): Ditto

	* src/dialogs/desktop-properties.c: Do not use glade anymore, made
	everything dynamic

	* src/sp-namedview.c (sp_namedview_init): Do not init distances here,
	as ::build invokes full reread anyways
	(sp_namedview_read_attr): Use saner structure and read measured distances
	(sp_namedview_setup_grid_item): Convert distances to points here
	(sp_str_to_bool): Convenience stuff (should be moved to some central place)
	(sp_nv_read_length): Ditto
	(sp_nv_read_opacity): Ditto

	* src/sp-namedview.h: Use real units for distances, some cleanup

	* src/desktop-snap.c (sp_desktop_horizontal_snap): Ported to namedview
	changed internals
	(sp_desktop_vertical_snap): Ditto
	(sp_desktop_vector_snap): Ditto
	(sp_desktop_circular_snap): Ditto

2002-02-04 Frank Felfe <innerspace@iname.com>

	* src/sp-item.c (sp_item_distance_to_svg_bbox): Fix compilation error

2002-02-03  Lauris Kaplinski  <lauris@ximian.com>

	* src/helper/units.c: Fix userspace/device confusion

	* src/sp-gradient.c (sp_stop_read_attr): Convert percentages to dimensionless
	units

	* src/gradient-chemistry.c (sp_gradient_vector_release_references): New
	method to prepare gradient vector for deletion

	* src/dialogs/gradient-vector.c (sp_gradient_vector_selector_init): Connect
	button dialogs
	(sp_gvs_rebuild_gui_full): Set selection to current active gradient
	(sp_gvs_gradient_edit_clicked): From old gradient selector
	(sp_gvs_gradient_add_clicked): Ditto
	(sp_gvs_gradient_delete_clicked): Ditto

2002-02-02  Kjartan Maraas  <kmaraas@gnome.org>

	* glade/object_props.glade: Fix a typo. s/Mitter/Miter/
	
2002-01-27  Lauris Kaplinski  <lauris@ximian.com>

	* src/bonobo/Makefile.am (INCLUDES): Remove excess -I

2002-01-21  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-item.c (sp_item_distance_to_svg_viewport): New method
	(sp_item_distance_to_svg_bbox): Ditto
	(sp_item_style_changed): Use generic distance conversion method

	* src/helper/units.c: New file, ported from libgnomeprint, we collect
	all unit management into here

	* src/helper/units.h: New file

	* src/svg/svg-length.c (sp_svg_write_percentage): New unit logic
	(sp_svg_read_length): Ditto

	* src/helper/unit-menu.c: Ported widget from libgnomeprint

	* src/helper/unit-menu.h: Ported widget from libgnomeprint

	* src/dialogs/text-edit.c (sp_text_read_selection): New unit logic

	* src/dialogs/object-properties.c (sp_object_properties_apply_stroke): New
	unit logic

	* src/dialogs/gradient-selector.c (sp_gradient_widget_new): Use
	SPGradientVectorSelector here

	* src/style.c (sp_style_read_from_string): New unit logic
	(sp_style_write_string): Ditto
	(sp_style_init): Ditto

	* src/sp-text.c (sp_text_read_attr): New unit logic

	* src/sp-star.c (sp_star_read_attr): New unit logic

	* src/sp-spiral.c (sp_spiral_read_attr): New unit logic

	* src/sp-shape-style.c (sp_stroke_read): New unit logic

	* src/sp-root.c (sp_root_read_attr): New unit logic

	* src/sp-rect.c (sp_rect_read_attr): New unit logic

	* src/sp-namedview.c (sp_namedview_read_attr): New unit logic

	* src/sp-item.c (sp_item_style_changed): New unit logic

	* src/sp-image.c (sp_image_read_attr): New unit logic

	* src/sp-ellipse.c (sp_circle_read_attr): New unit logic

	* src/dyna-draw-context.c (sp_dyna_draw_context_setup): New unit logic
	(fit_and_split_line): Ditto
	(fit_and_split_calligraphics): Ditto

	* src/desktop-events.c (sp_dt_simple_guide_dialog): Use new unit widget
	(guide_dialog_apply): Ditto

2002-01-13  Wang Jian  <lark@linux.net.cn>

	* configure.in(ALL_LINGUAS): Added zh_CN for Simplifed Chinese.

2002-01-05  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/helper/bezier-utils.c (BEZIER_DEBUG): inhibit debug messages.

2002-01-04  Zbigniew Chyla  <cyba@gnome.pl>

	* src/desktop.c (sp_desktop_widget_init, sp_desktop_widget_set_title,
	sp_desktop_widget_shutdown): Marked strings for translation.

	* src/document.c (sp_document_new, sp_document_new_from_mem): Ditto.

2002-01-01  Zbigniew Chyla  <cyba@gnome.pl>

	* configure.in: Added "AC_PROG_INTLTOOL(0.11)" line.

	* Makefile.am: Use intltool.

	* GNOME_Sodipodi.oaf.in: New, copied from GNOME_Sodipodi.oafinfo.

	* sodipodi.desktop.in: New, generated from sodipodi.desktop.

	* GNOME_Sodipodi.oafinfo, sodipodi.desktop: Removed.

	* glade/Makefile.am (glade_DATA): Removed *.c.

	* glade/*.c: Removed.

	* .cvsignore: Added intltool-*, sodipodi.desktop, GNOME_Sodipodi.oaf.

	* src/bonobo/svg-doc-factory.c, src/desktop.c, src/dialogs/align.c,
	src/dialogs/display-settings.c, src/dialogs/document-properties.c,
	src/dialogs/fill-style.c, src/dialogs/gradient-selector.c,
	src/dialogs/gradient-vector.c, src/dialogs/item-properties.c,
	src/dialogs/object-attributes.c, src/dialogs/object-properties.c,
	src/help.c, src/helper/unit-menu.c, src/main.c, src/sodipodi.c,
	src/sp-anchor.c, src/sp-image.c, src/sp-item-group.c, src/sp-rect.c,
	src/sp-shape.c, src/sp-spiral.c, src/sp-star.c, src/sp-text.c,
	src/widgets/sp-color-selector.c: Added missing #include <config.h>.

2001-12-30  Lauris Kaplinski  <lauris@localhost.localdomain>

	* src/widgets/sp-color-selector.c (sp_color_selector_adjustment_changed): Set
	updating flag here, so we get single "changed" signal whatever happens

	* src/sp-gradient.c (sp_gradient_repr_set_vector): Allow setting our
	own vector too here

	* src/sp-object.h (SP_OBJECT_NEXT): New macro

	* src/gradient-chemistry.c (sp_gradient_ensure_vector_normalized): Should
	work as intended now
	(sp_gradient_ensure_private_normalized): Ditto
	(sp_gradient_repr_set_link): Set NULL link too

2001-12-30  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-spiral.c src/sp-star.c:
	Revert to previous cx, cy attribute implementation.
	Because SVG standard shape introduce cx, cy,
	so we coordinate to that policy.

	* src/sp-spiral.c (sp_spiral_get_polar): New function
	(sp_spiral_is_invalid): New function to protect attributes
	consistency. sp_spiral_read_attr use it.

2001-12-29  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/knotholder.c src/knotholder.h
	(sp_knot_holder_add_full): New method

	* src/sp-spiral.c: Removed cx, cy attribute,
	so we use item matrix for that.
	Fixed up debug code.

	* src/sp-star.c src/sp-star.h src/star-context.c:
	Removed cx, cy attribute

2001-12-29  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/knotholder.c (knot_moved_handler):
	Lauris found a incorrect invert matrix bug. I just fixed it.

2001-12-28  Simos Xenitellis  <simos@hellug.gr>

	* configure.in: Added "el" (Greek) to ALL_LINGUAS.

2001-12-28  Lauris Kaplinski  <lauris@localhost.localdomain>

	* src/sp-gradient.c: Lot of changes due to class member rearrangement
	(sp_gradient_repr_flatten_attributes): New method
	(sp_gradient_repr_set_vector): Ditto

	* src/sp-gradient.h: Moved gradientUnits and gradientTransform to
	base SPGradient class, added ::flatten_attributes virtual method

	* src/gradient-chemistry.c (sp_gradient_ensure_vector_normalized): Works
	now for lonely gradients as well

	* src/desktop-events.c (guide_dialog_apply): Flush undo
	(guide_dialog_delete): Ditto
	(sp_dt_guide_event): Ditto

	* src/widgets/sp-color-selector.c: Added 'rrggbbaa' hex value entry,
	use SPColor helpers instead of doing conversions here, added some
	generic color methods and renamed/changed signature of old ones.

	* src/widgets/sp-color-slider.c (sp_color_slider_paint): Update arrow
	the right way

	* src/helper/nr-plain-stuff.c (nr_render_rgba32_rgb): Use computed channels
	instead of plain color ones

	* src/helper/nr-plain-stuff-gdk.c (nr_gdk_draw_rgba32_solid): New method

	* src/text-context.c (sp_text_context_setup): Some XIM handling
	(sp_text_context_destroy): Ditto
	(sp_text_context_root_handler): Ditto

	* src/sp-gradient.c: Killed gcc 3 warnings

	* src/draw-context.c: Started rewriting of drawing context, added 4-member
	path cache (instead of 2 in old version), the goal is to make selection
	continuation and pen tool

	* src/draw-context.h: New members in class

	* src/color.c (sp_color_get_colorspace_class): Broke colorspace descriptor
	into class (process | spot) and type (rgb | cmyk), added new methods and
	renamed old one accordingly
	(sp_color_get_colorspace_type): Ditto
	(sp_color_rgb_to_hsv_floatv): Convenience method
	(sp_color_hsv_to_rgb_floatv): Ditto
	(sp_color_rgb_to_cmyk_floatv): Ditto
	(sp_color_cmyk_to_rgb_floatv): Ditto

	* src/color.h: New convenience macros and methods

	* configure.in (have_bonobo): Made --without-bonobo default

	* src/widgets/sp-color-preview.c: New file, implement simple
	color preview object, a la the one in Gtk+ color selector

	* src/widgets/sp-color-preview.h: New file

2001-12-21  Mitsuru Oka  <oka326@parkcity.ne.jp>

	* src/sp-spiral.*, spiral-context.c
	(sp_spiral_inner_*, sp_spiral_outer_*, sp_spiral_knot_holder):
	Add SPKnotHolder codes
	(sp_spiral_set_shape, sp_spiral_fit_and_draw):
	Fixed some drawing bugs

	* src/dyna-draw-context.*, sp-shape.c, sp-star.c:
	Clean up codes

2001-12-15  Lauris Kaplinski  <lauris@ximian.com>

	* src/helper/canvas-bpath.h: New file

	* src/helper/canvas-bpath.c: New file

	* src/helper/Makefile.am (libspchelp_a_SOURCES): Added
	canvas-bpath.[c,h]

	* src/helper/curve.c (sp_curve_ref): Signature change
	(sp_curve_unref): Ditto

	* src/display/Makefile.am (nr_sources): Removed stale files

	* src/helper/bezier-utils.c (sp_bezier_fit_cubic): Added argument
	checks, signature change, cleanup
	(sp_bezier_fit_cubic_r): Ditto
	(sp_bezier_fit_cubic_full): Ditto

	* src/helper/bezier-utils.h: Changed fit method signatures

	* src/draw-context.c (fit_and_split): Use new sp_bezier_fit signature

	* src/dyna-draw-context.c (fit_and_split_line): Use new sp_bezier_fit
	signature
	(fit_and_split_caligraphics): Ditto

2001-12-07  Lauris Kaplinski  <lauris@ximian.com>

	* src/sodipodi.c (sodipodi_application_new): Catch SIGFPE and SIGILL as well

	* src/sp-gradient.c (sp_gradient_write_colors): Skip, if integer stop
	values coincide (fixes div 0 bug with gradients)

2001-11-25 Duarte Loreto <happyguy_pt@hotmail.com>

        * Added Alvaro Lopes <alvieboy@alvie.com> portuguese translation to configure.in (ALL_LINGUAS)

01-11-19  Lauris Kaplinski  <lauris@ximian.com>

	* src/preferences-skeleton.h: Removed '%' from opacity

2001-11-12  Lauris Kaplinski  <lauris@ximian.com>

	* src/display/canvas-arena.c (sp_canvas_arena_render): Try to fit
	buffer, instead of just using 64x64 rectangles

	* src/sp-rect.c: Remove Gtk+ arguments

	* src/display/nr-arena-image.c (nr_arena_image_update): Request
	rendering previous area

2001-11-11  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-rect.c (sp_rect_write_transform): Scale rx and ry
	(sp_rect_menu): Implement
	(sp_rect_rect_properties): Implement

	* src/dialogs/object-properties.c (sp_object_properties_apply_fill): Use
	float value, not percentage
	(sp_object_properties_apply_stroke): Ditto

	* src/file.c (file_save_ok): Update relative image references

	* src/sp-image.c (sp_image_destroy): Unregister resource
	(sp_image_build): Register resource

	* src/sp-spiral.c (sp_spiral_menu): Implement
	(sp_spiral_spiral_properties): Generic attributes dialog

2001-11-10  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-anchor.c (sp_anchor_menu): New method
	(sp_anchor_link_properties): Ditto
	(sp_anchor_link_follow): Ditto
	(sp_anchor_link_remove): Ditto

	* src/sp-star.c (sp_star_menu): New method
	(sp_star_star_properties): Ditto

	* src/sp-item.c (sp_item_create_link): New method

	* src/sp-item-group.c (sp_item_group_ungroup): Ungroup anchors too

	* src/forward.h: Added SPAnchor

	* src/dialogs/sp-attribute-widget.h: New file, implement generic
	asynchronous attribute widget, and table of attribute widgets

	* src/dialogs/sp-attribute-widget.c: New file

	* src/dialogs/object-attributes.h: New file, implement generic
	asynchronous object attribute dialog

	* src/dialogs/object-attributes.c: New file

	* src/display/Makefile.am (INCLUDES): Added SODIPODI_CFLAGS

	* src/sp-anchor.c: New file, implement SVG <a> element. Actual event
	code is pure experimental and need some serious thinking.

	* src/sp-anchor.h: Ditto

	* src/svg-view.c (arena_handler): Forward arena events to SPEvents

	* src/sp-object-repr.c (sp_object_type_lookup): parse <a> as anchor

	* src/sp-item.h: Added ::event virtual method plus some test code

	* src/sp-item.c (sp_item_event): New method

	* src/desktop.c (sp_desktop_new): Moved drawing behind all other layers
	(sp_desktop_document_resized): Resize page frame

	* src/helper/sodipodi-ctrlrect.h: More complex structure to represent
	page frame as well

	* src/helper/sodipodi-ctrlrect.c (sp_ctrlrect_hline): New render method
	(sp_ctrlrect_vline): Ditto
	(sp_ctrlrect_area): Ditto
	(sp_ctrlrect_render): Use more complex structure
	(sp_ctrlrect_update): Ditto
	(sp_ctrlrect_set_area): New method
	(sp_ctrlrect_set_color): Ditto
	(sp_ctrlrect_set_shadow): Ditto

2001-11-09  Lauris Kaplinski  <lauris@ximian.com>

	* src/display/nr-arena-image.c (nr_arena_image_update): Implemented
	explicit geometry
	(nr_arena_image_set_geometry): New method

	* src/sp-image.c: Implemented "x", "y", "width", "height"
	(sp_image_read_attr): Ditto
	(sp_image_bbox): Ditto
	(sp_image_print): Ditto
	(sp_image_show): Ditto
	(sp_image_write_transform): Implement

	* src/file.c (file_import_ok): Try to load pixbuf and set
	"width" and "height" attributes

	* src/desktop.c: Some cleanups of View/Widget structure

	* src/desktop.h: Ditto

	* glade/Makefile.am (images): Added about.svg

2001-11-08  Lauris Kaplinski  <lauris@ximian.com>

	* src/svg/svg-affine.c (sp_svg_write_affine): Write scale and
	translate, if everything can be represented by these

	* src/sp-text.c (sp_text_write_transform): Implement

	* src/sp-rect.c (sp_rect_write_transform): Implement

	* src/sp-item.c (sp_item_write_transform): New class and virtual
	method pair, to allow object to optimize representation (i.e.
	rects can set x,y,width,height instead of just transformation

	* src/seltrans.c (sp_sel_trans_ungrab): Use sp_item_write_transform

	* src/selection-chemistry.c: Use sp_item_write_transform

	* src/help.c (sp_help_about): Set title string to "Sodipodi VERSION"

	* src/Makefile.am (INCLUDES): Define SODIPODI_VERSION

	* src/xml/repr-io.c (repr_write): Avoid newlines in content

	* src/view.c: Sorted out lot os signalling stuff

	* src/svg-view.c: Lot of work, basically works

	* src/sp-root.c (sp_root_modified): Call parent method as well

	* src/interface.c (sp_ui_new_view_preview): New method
	(sp_create_window): Sort out editable/non-editable views

	* src/help.c (sp_help_about): Create about maunally (not much here yet)

	* src/desktop.c: Use ::document_resized virtual method

2001-10-31  Lauris Kaplinski  <lauris@ximian.com>

	* src/dialogs/text-edit.c (sp_text_read_selection): Use gal
	utf8/editable methods
	(sp_text_dialog_apply): Ditto
	(sp_text_dialog_text_changed): Ditto

	* src/sp-text.c (sp_text_set_shape): Use correct utf8 methods

	* src/display/nr-arena-image.c (nr_arena_image_class_init): Use
	correct parent class

2001-10-31  Mitsuru Oka <oka326@parkcity.ne.jp>

	* src/knotholder.c:
	Removed unnecessary ref/unref.
	Added sp_object_invoke_write_repr() to reflect item changes to repr

	* src/sp-object.c: Added new virtual function SPObject::write_repr()

	* src/sp-object.h: Ditto

	* src/sp-shape.c (sp_shape_write_repr): Added

	* src/sp-star.c (sp_star_write_repr): Added.
	Moved subclass of SPShape to SPPolygon

	* src/star-context.c: Ditto

2001-10-30 Mitsuru Oka <oka326@parkcity.ne.jp>

	* src/knotholder.c: New file
	We can manage plural SPKnot in one SPKnotHolder.
	SPKnotHolder is created by SPItem::knot_holder virtual function.
	Moving SPKnot is propageted to another SPKnot.
	* src/knotholder.h: Ditto

	* src/node-context.c: Added SPKnotHolder
	* src/node-context.h: Ditto
	
	* src/sp-item.c: Added knot_holder virtual function.
	* src/sp-item.h: Ditto

	* src/sp-shape.c: Added set_shape virtual function.
	It is used to build bpath from extra shape attributes.

	* src/sp-shape.h: Ditto

	* src/sp-star.c: Added knot_holder and set_shape implementations.
	(sp_star_build_repr): Modified function name.
	* src/sp-star.h: Ditto

	* src/sp-spiral.c: Added set_shape implementation.
	(sp_spiral_build_repr): Modified function name.
	* src/sp-spiral.h: Ditto

	* src/star-context.c: Modified build_repr function name.
	* src/spiral-context.c: Ditto

2001-10-29  Lauris Kaplinski  <lauris@ximian.com>

	* src/desktop.c (sp_desktop_coordinate_status): Free allocated memory

	* src/display/nr-arena-shape.c (nr_arena_shape_group_add_component): Unref
	item once it is added

2001-10-29 Mitsuru Oka <oka326@parkcity.ne.jp>

	* src/desktop.c:
	Added gtk_object_unref() after *_add_child to fix memory leaks.

	* src/document: Ditto

	* src/selection-chemistry.c: Ditto

	* src/sp-item-group.c: Ditto

	* src/sp-clippath.c, src/sp-use.c: Ditto
	Missing to add ChangeLog before commiting.

2001-10-23  Mitsuru Oka <oka326@parkcity.ne.jp>

	* src/sp-star.*, src/sp-spiral.*, src/star-context.* and
	spiral-context.*:
	Add SPStar, SPStarContext, SPSpiral and SPSpiralContext classes.
	SPStar and SPSpiral behave as new shape and they can convert to
	bezier curves. More works are required.

	* glade/draw_star.xpm, glade/draw_spiral.xpm, src/pixmaps/cursor-star.xpm,
	src/pixmaps/cursor-spiral.xpm:
	Add toolbox icon and mouse cursor for star and spiral.

	* src/helper/bezier-utils.*:
	Add lowlevel APIs and reformat source code.

	* src/xml/repr-io.c:
	Fix repr_write() to generate more short SVG.
	New code support <foo /> tags generation.

	* src/xml/repr-util.c, src/xml/repr.*, src/sodipodi.c:
	Add new SPRepr APIs sp_repr_lookup_child(), sp_repr_overwrite (),
	and sp_repr_document_overwrite ()
	Now, we can merge ~/.sodipodi/preferences into preferences_skeleton.

2001-10-23  Lauris Kaplinski  <lauris@ximian.com>

	* src/file.c (sp_file_new): Use new signatures
	(file_open_ok): Ditto

	* src/interface.c (sp_create_window): New signature

	* src/desktop.c: Break desktop functionality into SPView/SPViewWidget
	parts, wrap most of the old code in ugly way, but we can go on
	cleaning it up method-by-method

	* src/desktop.h: Ditto

	* src/view.h: New file

	* src/view.c: New file, we implement abstract base classes for
	all document views (editable, noneditable, widget, non-widget)
	here

	* src/svg-view.h: New file

	* src/svg-view.c: New file, implementing SVG preview

	* src/marshal.h: New file

	* src/marshal.c: New file

2001-10-20  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-root.c (sp_root_read_attr): Removed desktop->document coordinate
	setup from here - it has to be done in desktop instead

2001-10-19  Frank Felfe <innerspace@iname.com>

	* src/widgets/sp-toolbox.*: patch from MenTaLguY <mental@rydia.net>
	change seperate button into toggle button and add arrow to 
	hide button indicating state of toolbox

	* src/path-chemistry.c (sp_selected_path_to_curves): apply to all paths in selection

	* src/selection-chemistry.c (sp_selection_delete): remove widget text

	* src/desktop.c (sp_desktop_set_focus): make canvas catch key events

	* src/desktop-events.c (sp_desktop_root_handler): don't grab focus here
	
2001-10-18  Lauris Kaplinski  <lauris@ximian.com>

	* src/display/nr-arena-image.c (nr_arena_image_render): Use right
	pixel coposers

	* configure.in: Version 0.25

2001-10-18  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-item-group.c: Removed paint virtual method implementation

	* src/sp-image.c: Ditto

	* src/sp-shape.c: Ditto

	* src/sp-use.c: Ditto

	* src/sp-item.c (sp_item_paint): Ported to NRArena/::show()

	* src/sp-item.h: Removed ::paint()

	* samples: Removed extra sample files (these are in clipart distribution)

2001-10-17  Lauris Kaplinski  <lauris@ximian.com>

	* src/display/nr-arena*: Merged NR_ARENA branch into HEAD.
	NRArena is new experimental display list engine, that replaces
	most canvas stuff for SVG items (old canvas code is still
	used for controls etc.).
	It is less integrated with Gtk widgetry, and should also allow reuse
	of code for paint-server type things (patterns, symbols etc.).
	NRArena rendering also allows higher-level graphic stuff, from
	masking to filters, to be implemented.
	
2001-10-13  Mitsuru Oka <oka326@parkcity.ne.jp>

	* src/dynadraw-context.c: Removed rotating brush bug

	* src/draw-context.h: Removed duplicate bezier-fitting code

2001-10-12  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-clippath.c: New file

	* src/sp-clippath.h: New file

	* src/sp-object-group.c (sp_objectgroup_build): Check child type
	(sp_objectgroup_child_added): Ditto

	* src/sp-object-group.h: Removed useless 'tranparent' member

2001-10-07  Lauris Kaplinski  <lauris@ximian.com>

	* src/display/nr-primitives.c (nr_irect_union): New method

	* src/helper/nr-buffers.h: New file

	* src/helper/nr-buffers.c: New file

	* src/helper/nr-plain-stuff.c (nr_render_rgba32_rgba32): New method

2001-10-06  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-item.c (sp_item_read_attr): Query presentation attributes

	* src/style.c (sp_style_read_from_object): Added some presentation attributes

2001-10-05  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-use.c (sp_use_build): Reinclude, change 'href' to 'xlink:href'

	* src/sp-object.c (sp_object_style_changed): Use SP_OBJECT_MODIFIED_FLAG

	* src/document.c (sp_document_new): Force "height" and "width" attributes,
	if not present already
	(sp_document_new_from_mem): Ditto

2001-10-04  Lauris Kaplinski  <lauris@ximian.com>

	* src/xml/repr-io.c (sp_repr_save_stream): Correct header

2001-10-02  Peter Moulder <pmoulder@csse.monash.edu.au>

	* src/xml/repr-io.c (repr_quote_write): New method, quotes
	special chars correctly for xml
	(repr_write): Use repr_quote_write
	
2001-10-02  Lauris Kaplinski  <lauris@ximian.com>

	* src/dyna-draw-context.c: Stroking by Mitsuru Oka

	* src/helper/bezier-utils.h: New file by Motsuru oka

	* src/helper/bezier-utils.c: Ditto

	* src/sp-shape.c (sp_shape_print): Translate gradients the right way

2001-10-01  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-shape.c (sp_shape_print): Use rule for clip and fill
	(sp_shape_paint): Use winding rule

2001-09-30  Lauris Kaplinski  <lauris@ximian.com>

	* src/style.c (sp_style_write_string): Write rule
	(sp_style_read_from_string): Parse rule

	* src/style.h: Made rule libart enum

	* src/display/path-archetype.c (sp_path_at): Search by rule
	(sp_path_at_new): Rewind with rule
	(sp_pat_equal): Compare rules

	* src/display/path-archetype.h: Added rule argument

	* src/display/cpath-component.c (sp_cpath_comp_new): Init rule
	(sp_cpath_comp_update): Use rule
	(sp_cpath_comp_change): Ditto

	* src/display/cpath-component.h: Added rule member

	* src/display/canvas-shape.c (sp_canvas_shape_update): Set fill rule

2001-09-29  Lauris Kaplinski  <lauris@ximian.com>

	* src/selection-chemistry.c (sp_selection_lower_to_bottom): Do not lower
	behind non-items (i.e. base <defs> object)
	(sp_selection_lower): Ditto

	* configure.in: Version 0.24.1

	* src/document.c (sp_document_new): Set xmlns:xlink
	(sp_document_new_from_mem): Ditto

	* src/sp-defs.c (sp_defs_destroy): Correct list emptying

	* src/dialogs/gradient-selector.c (sp_gradient_selector_add_vector_clicked): unref repr

	* src/gradient-chemistry.c (sp_object_ensure_fill_gradient_normalized): unref repr

	* src/helper/art-utils.c (art_rgb_run_rgba): Fix 255/256 bug

	* src/display/canvas-shape.c (sp_canvas_shape_render): Removed #ifdef 0 code

	* src/widgets/gradient-image.c (sp_gradient_image_expose): Draw grabage
	using fresh new nr functions
	(sp_gradient_image_update): Ditto (not used)

	* src/helper/nr-plain-stuff.h: New file

	* src/helper/nr-plain-stuff.c: New file

	* src/helper/nr-plain-stuff-gdk.h: New file

	* src/helper/nr-plain-stuff-gdk.c: New file

2001-09-27  Lauris Kaplinski  <lauris@ximian.com>

	* src/dialogs/object-properties.c (sp_object_properties_dialog): Create
	dynamic fill page

	* src/sp-shape.c (sp_shape_print): Print gradients (somewhat)
	(sp_shape_paint): Paint gradients (somewhat)

	* src/document.c (sp_document_new_from_mem): Use fresh namespace

	* src/xml/repr-io.c (sp_repr_save_stream): Write fresher descriptor

	* src/widgets/gradient-position.c: New file and widget

	* src/widgets/gradient-position.h: New file and widget

	* src/dialogs/gradient-selector.c (sp_gradient_widget_new): Make
	delete vector inactive, shorter button names, create gradient
	positioning widget
	(sp_gradient_selector_load_selection): Update positioning widget
	(sp_gradient_selection_position_dragged): Implement
	(sp_gradient_selection_position_changed): Implement

	* src/sodipodi.c (sodipodi_segv_handler): Abort on recursion

2001-09-26  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-text.c (sp_text_read_attr): Use unit-loading method for x & y

2001-09-25  Christopher R. Gabriel  <cgabriel@cgabriel.org>

	* sodipodi.1.in: new man page
	* configure.in: Likewise
	* Makefile.am (man_MANS): Likewise

2001-09-24 Frank Felfe <innerspace@iname.com>

	* src/helper/sodipodi-ctrl.*: New ctrl-shapes

	* src/knot.*: Ditto

	* src/pixmaps/cursor-node-d.xpm: New file
	
	* src/pixmaps/cursor-node-m.xpm: New file
	
	* src/pixmaps/cursor-select-d.xpm: New file
	
	* src/pixmaps/cursor-select-m.xpm: New file
	
	* src/pixmaps/handles.xpm: New file
	
	* src/sp-cursor.* (sp_cursor_new_from_xpm): New function

	* src/seltrans.c: Use new ctrl-shapes and cursors

 	* src/seltrans-handles.*: Use new ctrl-shapes 

	* src/select-context.c (sp_node_context_class_init): Init cursors and handle pix

	* src/nodepath.* (node_event): Redirect key events
	(node_key): New key handler
	(sp_node_selected_break): Handle first and last node
	(node_ctrl_moved): Update ctrlline after setting coords
	(sp_nodepath_node_new): Use new ctrl-shapes and cursors

	* src/node-context.c (sp_node_context_class_init): Init cursors

2001-09-22  Mitsuru Oka <oka326@parkcity.ne.jp>

	* src/dynadraw-context.c: New file

	* src/dynadraw-context.h: New file

	* src/event-context.c (sp_event_context_set_dynahand): New handler

2001-09-21  Lauris Kaplinski  <lauris@ximian.com>

	* src/svg/svg-path.c: Quick port of latest librsvg path code

2001-09-19  Lauris Kaplinski  <lauris@ximian.com>

	* src/document.c (sp_document_destroy): Remove document
	(sp_document_new): Add document
	(sp_document_new_from_mem): Ditto

	* src/sodipodi.c (sodpodi_remove_document): New method
	(sodpodi_add_document): Ditto
	(sodipodi_segv_handler): Not very intelligent signal handler

2001-09-18  Lauris Kaplinski  <lauris@ximian.com>

	* src/dialogs/gradient-selector.c (sp_gradient_selector_add_vector_clicked): 
	New handler
	(sp_gradient_selector_delete_vector_clicked): Ditto (empty)
	(sp_gradient_selector_load_selection): New method

	* src/desktop.c (sp_desktop_init): Typo fix

2001-09-17  Lauris Kaplinski  <lauris@ximian.com>

	* src/dialogs/gradient-vector.c (sp_gradient_vector_widget_destroy): Handler
	(sp_gradient_vector_gradient_destroy): Ditto
	(sp_gradient_vector_gradient_modified): Ditto
	(sp_gradient_vector_color_dragged): Ditto
	(sp_gradient_vector_color_changed): Ditto
	(sp_gradient_vector_widget_load_gradient): Connect/disconnect signals,
	handle NULL gradient etc.

	* src/sp-gradient.c (sp_gradient_set_vector): New method

	* src/widgets/gradient-image.c (sp_gradient_image_update): New method
	(sp_gradient_image_gradient_modified): Handler
	(sp_gradient_image_gradient_destroy): Ditto
	(sp_gradient_image_set_gradient): New method
	(sp_gradient_image_unrealize): Implement
	(sp_gradient_image_realize): Ditto

2001-09-16  Lauris Kaplinski  <lauris@ximian.com>

	* src/dialogs/gradient-selector.c (sp_gradient_widget_new): Added buttons
	(sp_gradient_selector_edit_vector_clicked): Handler

	* src/sp-defs.c (sp_defs_build): Use attach method

2001-09-15  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-gradient.c: Added radial gradient

	* src/sp-gradient.h: Ditto

	* src/sp-paint-server.c (sp_paint_server_destroy): Do not leak painters

	* src/gradient-chemistry.c (sp_gradient_ensure_vector_normalized): New method
	(sp_item_force_fill_lineargradient_vector): Ditto

	* src/sp-object.h (SP_OBJECT_STYLE): New macro

2001-09-14  Lauris Kaplinski  <lauris@ximian.com>

	* src/zoom-context.c (sp_zoom_2_to_1): Noop if no active desktop
	(sp_zoom_1_to_2): Ditto

2001-09-07  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-header.c: New file, implements document header, consisting
	of nested <defs> nodes, for different resource definitions

	* src/sp-header.h: New file

	* src/forward.h: Added SPHeader forward typedefs

2001-09-05  Lauris Kaplinski  <lauris@ximian.com>

	* src/document.c (sp_document_del_repr): Moved here, commented out
	(sp_document_add_repr): Moved here, made non-item compatible

	* src/style.c (sp_style_object_destroyed): Catcher method
	(sp_style_new): Signature change
	(sp_style_ref): Ditto
	(sp_style_unref): Ditto

	* src/sp-paint-server.c (sp_paint_server_destroy): Removed insane
	paint server referencing by painters and replaced it witw (a bit)
	less insane stale painter maintenance
	(sp_paint_server_painter_new): Ditto
	(sp_paint_server_painter_free): Ditto
	(sp_painter_free): Ditto
	(sp_painter_stale_fill): Ditto

	* src/sp-object.c (sp_object_invoke_build): Added verbose error

	* src/style.c (sp_style_paint_server_destroy): Implemented signal-based
	paintserver spying, instead of hardrefing it
	(sp_style_paint_server_changed): Ditto
	(sp_style_merge_paint): Ditto

	* src/sp-object.c (sp_object_ref): Wrapper method for debugging
	(sp_object_unref): Ditto
	(sp_object_attach_reref): Convenience connect method
	(sp_object_detach_unref): Ditto

2001-09-04  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-shape.c (sp_shape_print): Do not fill open paths

	* src/document.c (sp_document_add_resource): Implemented simple
	named resource lists
	(sp_document_remove_resource): Ditto
	(sp_document_get_resource_list): Ditto

2001-09-03  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-gradient.c: Added middle SPGradient class and morphed
	LinearGradient accordingly

	* src/sp-gradient.h: Added middle SPGradient Class

	* src/forward.h: Declare stops and gradients here

	* src/dialogs/gradient-vector.c: New file

	* src/dialogs/gradient-vector.h: New file

	* src/bonobo/embeddable-document.c (sp_embeddable_document_ps_save):
	Kill warning

	* src/select-context.c: Kill warning

2001-08-31  Lauris Kaplinski  <lauris@ximian.com>

	* src/forward.h: typedef SPDefs[Class] here

	* src/sp-root.h: Added pointer to root-level <defs> node

	* src/sp-gradient.c (sp_stop_get_type): Fixed type on type init

2001-08-30  Lauris Kaplinski  <lauris@ximian.com>

	* src/document.c (sp_document_new): Use fill-opacity 0.5, not 50%

2001-08-21  Lauris Kaplinski  <lauris@ximian.com>

	* src/dialogs/fill-style.c: Implement CMYK/RGB colorspace switching

	* src/widgets/sp-color-selector.c: Implement CMYK read/set methods

	* src/widgets/sp-color-slider.c (sp_color_slider_adjustment_value_changed): Set
	local value, even if arrow is not visible

	* src/color.c: New file

	* src/color.h: New file

	* src/sp-item.c (sp_item_read_attr): Check for "fill-cmyk"

	* src/style.c (sp_style_read_from_object): Parse "fill-cmyk" (quick hack)

2001-08-20  Lauris Kaplinski  <lauris@ximian.com>

	* src/svg/svg-path.c (svg_parse_path_data): Kill warning

	* src/widgets/sp-color-selector.c: New file & class

	* src/widgets/sp-color-slider.c: New file & class

	* src/sp-object.c (sp_object_style_changed): New virtual method

2001-08-13  Lauris Kaplinski  <lauris@ximian.com>

	* src/selection-chemistry.c (sp_selection_copy): Use prepend/reverse
	(sp_item_compare_order): New method
	(sp_item_list_sort_by_visual_order): New method

	* src/sp-path.c (sp_path_read_attr): Req modification

	* src/sp-item.c (sp_item_toggle_sensitivity): Call document::done
	(sp_item_reset_transformation): Ditto
	(sp_item_read_attr): Request modifiaction for style change

	* src/sp-object.h (SP_OBJECT_PARENT): Added convenience macros

2001-08-01  Lauris Kaplinski  <lauris@ximian.com>

	* src/document-undo.c (sp_document_undo): Fresh logic
	(sp_document_redo): Ditto
	(sp_document_child_added): Real listener
	(sp_document_child_removed): Ditto
	(sp_document_attr_changed): Ditto
	(sp_document_content_changed): Ditto
	(sp_document_order_changed): Ditto
	(sp_document_add_repr): Fresh logic, use only as wrapper
	(sp_document_del_repr): Ditto
	(sp_document_clear_undo): Use new logic, free actions at last
	(sp_document_clear_redo): Ditto
	(sp_action_list_undo): New functions, plus handful children
	(sp_action_list_redo): Ditto
	(sp_action_new): New function
	(sp_action_free): Ditto
	(sp_action_free_list): Ditto

2001-07-31  Lauris Kaplinski  <lauris@ximian.com>

	* src/xml/repr.c (sp_repr_ref): Return referenced repr
	(sp_repr_unref): Ditto
	(sp_repr_duplicate): Cleanup
	(sp_repr_set_content): Ditto, new handler signatures

	* src/xml/repr-private.h: Lot of signature changes

2001-07-30  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-item-group.c: #include <config.h> for i18n

	* src/sp-item.c: Ditto

	* src/event-context.c: Ditto

	* src/toolbox.c: Ditto

2001-07-25  Lauris Kaplinski  <lauris@ximian.com>

	* src/document-undo.c (sp_document_maybe_done): New function

2001-07-19  Lauris Kaplinski  <lauris@ximian.com>

	* src/dialogs/sp-widget.c (sp_widget_modify_selection): New function
	(sp_widget_show): Connect "modify_selection"
	(sp_widget_hide): Disconnect by data
	(sp_widget_new): New function
	(sp_widget_class_init): Added signals
	(sp_widget_change_selection): Emit signal
	(sp_widget_set_selection): Ditto

	* src/sodipodi.c (sodipodi_selection_modified): New function
	(sodipodi_class_init): Added "modify_selection" signal

	* src/selection.c (sp_selection_idle_handler): Signal sodipodi

	* src/document.c (sp_document_class_init): Added "modified" signal
	(sp_document_idle_handler): Emit modified signal

	* src/seltrans.c (sp_sel_trans_sel_modified): New function

	* src/sp-item.c (sp_item_set_item_transform): New function

	* src/sp-object.c (sp_object_class_init): Add "modified" signal
	(sp_object_request_modified): New function
	(sp_object_modified): New base method

	* src/sp-object.h (SP_OBJECT_UNSET_FLAGS): Added modifiaction state flags
	and handlers for scheduling and emitting modifiaction signal

	* src/selection.c (sp_selection_class_init): Added "modified" signal
	(sp_selection_destroy): Remove pending idle, if present
	(sp_selection_selected_item_modified): Added handler for object signal
	(sp_selection_idle_handler): Emit our own modified signal in idle loop

	* src/selection.h: Added idle id and ::modified virtual member

2001-07-17  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-namedview.c (sp_namedview_get_name): Initialize exception

	* src/sp-item-group.c (sp_item_group_ungroup_activate): New function
	(sp_item_group_ungroup): Implement this

	* src/sp-item.c (sp_item_select_this): New function
	(sp_item_private_menu): Added "Select this"
	(sp_item_properties): Select item

	* src/desktop.c (sp_desktop_menu_popup): Use new signature

	* src/event-context.c (sp_event_root_menu_popup): Use desktop
	in signature instead of widget

	* src/sp-object.c (sp_object_getAttribute): Return NULL, if
	exception is not clear
	(sp_object_setAttribute): Ditto
	(sp_object_removeAttribute): Ditto

2001-07-08  Lauris Kaplinski  <lauris@ximian.com>

	* src/xml/repr-io.c (sp_repr_svg_read_node): Preserve namespaces for
	everything but "svg"

2001-07-07  F.J.Franklin  <F.J.Franklin@sheffield.ac.uk>

	* src/svg/svg-color.c (sp_svg_read_color): Accept ';' as
	terminator

	* src/sp_image.c (sp_image_repr_read_dataURI): New function
	(sp_image_repr_read_b64): New function
	(sp_image_read_attr): Accept embedded data

	* configure.in: Added --with-libwmf switch

	* src/xml/repr-io.c (sp_repr_read_file): Read *.wmf using libwmf
	(sp_wmf_convert): New function
	(sp_wmf_image_name): New function
	
2001-07-07  Frank Felfe  <innerspace@iname.com>

	* src/desktop.h: Added number field

	* src/desktop.c (sp_desktop_new): Initialize number from
	namedview viewcount
	(sp_desktop_set_title): Compose name from uri, nameview and number

	* src/document.c (sp_document_set_uri): New method

	* src/file.c (file_save_ok): Set ducument uri

	* src/interface.c (sp_create_window): Set desktop title

	* src/select-context.c (sp_select_context_root_handler): Added
	backward cycling

	* src/selection-chemistry.c (sp_selection_item_next): Cleared
	list mess
	(sp_selection_item_prev): New function

	* src/sp-item-group.c (sp_item_group_item_list): New function

	* src/sp-namedview.h: Added viewcount field

	* src/sp-namedview.c (sp_namedview_get_name): New method
	
	* doc/keybindings.txt: Added Shift-Tab

2001-06-07  Lauris Kaplinski  <lauris@ximian.com>

	* configure.in: Version 0.24

	* src/sp-item.c (sp_item_read_attr): Quick noscale hack
	for style stroke widths

	* src/display/canvas-shape.c (sp_canvas_shape_update): Use
	stroke_width as well ;)

2001-05-24  Lauris Kaplinski  <lauris@ximian.com>

	* src/seltrans-handles.*: Make structs const

	* src/seltrans.*: Make view type variable, move it to
	header for adding GUI later

2001-05-23  Frank Felfe  <innerspace@iname.com>

	* src/desktop-snap.*: Implement circualr and list snapping

	* src/sp-item.*: New virtual function ::snappoints()

	* src/seltrans.c: New structure

	* src/sp-rect.c (sp_rect_snappointss): Implement

	* src/sp-ellipse.c (sp_ellipse_snappoints): Ditto

	* src/sp-text.c (sp_text_snappoints): Ditto

	* src/sp-image.c (sp_image_snappoints): Ditto
	
2001-05-18  Lauris Kaplinski  <lauris@ximian.com>

	* configure.in: Version 0.23 final

	* src/sp-gradient.c (sp_lg_fill): Do opacity

	* src/document-undo.c (sp_document_redo): Fixed bug in redoing
	order changes

2001-05-17  Lauris Kaplinski  <lauris@ximian.com>

	* src/toolbox.c (sp_maintoolbox_create): Show toolbox, if
	it already exists and reference sodipodi
	(sp_maintoolbox_close): Hide toolbox

	* glade/Makefile.am (glade_DATA): Added item.glade, item.c

	* configure.in: Version 0.23

	* src/dialogs/display-settings.h: New file

	* glade/Makefile.am (glade_DATA): Added display.glade, display.c

2001-05-06  Lauris Kaplinski  <lauris@ximian.com>

	* configure.in (use_arena): Added with-arena flag

	* acconfig.h: Added ARENA

2001-04-16  Jesus Bravo Alvarez  <jba@pobox.com>

	* configure.in: Added gl (Galician) to ALL_LINGUAS

2001-04-14  Lauris Kaplinski  <lauris@ximian.com>

	* everywhere (TM): Changed the basic structure of Reprs (they are
	not GtkObjects any more) and SPObjects (they have own list sequence
	instead of using GLists)

2001-04-06  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-item-group.c (sp_item_group_ungroup): New method

	* src/draw-context.c (set_to_accumulated): Transform path instead of
	setting initial transform, so clear transform does not do interesting
	things for freehand curves ;-)

2001-04-04  Lauris Kaplinski  <lauris@ximian.com>

	* src/file.c (sp_file_open): Do not connect "delete_event"
	(sp_file_save_as): Ditto
	(sp_file_import): Ditto, do not use static widget pointer
	(sp_file_export): Ditto
	(sp_file_save_document): Clear "modified" attribute
	(file_save_ok): Ditto

	* src/svg/svg.h: #include glib.h instead of full gtk.h

	* src/svg/svg-stroke.c: #include string.h, kill warning

	* src/svg/svg-font.c: Ditto

	* src/sp-shape-style.c: Ditto

	* src/sp-metrics.h: #include gtkruler.h intead of full gtk.h

	* src/zoom-context.c (sp_zoom_page): Get document from desktop
	instead of using ACTIVE_DOCUMENT

	* src/slide-context.c: New file, implement slideshow context

	* src/main.c (main): Create slideshow, if requested

2001-03-22  Lauris Kaplinski  <lauris@ximian.com>

	* src/svg/Makefile.am (INCLUDES): Add SODIPODI_CFLAGS

2001-03-21  Lauris Kaplinski  <lauris@ximian.com>

	* src/sodipodi.h: Remove Sodipodi typedef

	* src/forward.h: Typedef Sodipodi here

	* src/dialogs/sp-widget.c: New file

	* src/dialogs/sp-widget.h: New file, implement abstract base class for
	configuration widgets

	* glade/Makefile.am (pixmaps): Added guide_dialog.png

	* src/dialogs/document-properties.c (sp_document_dialog_delete): New function, or
	we crash if user closes dialog

	* src/dialogs/desktop-properties.c (sp_desktop_dialog_delete): New function, or
	we crash if user closes window

	* src/draw-context.c (sp_draw_context_root_handler): Do not crash for zero
	length lines PLEEAAAASSSSEEEEE!

	* src/selection-chemistry.c (sp_selection_group): Use copy/del/add to make
	undo system happy

2001-03-20  Frank Felfe  <innerspace@iname.com>

	* src/nodepath.c (node_ctrl_moved) : set coorinate status

	* src/seltrans.c (sp_sel_trans_handle_new_event) : set coordinate status

	* src/sp-guide.* : new functions sp_guide_set, sp_guide_remove

	* src/helper/unit-menu.h : add abbreviation string into unitdesc

	* src/event-context.c (set_event_location) : set coordinate status
	popup desktop-properties on double click

	* src/desktop.* : new functions for statusbars
	(sp_desktop_indicator_*) : make indicator only show when decorations are visible

	* src/desktop-events.* : new guideline dialog
	small changes in sp_dt_ruler_event, sp_dt_guide_event

	* src/*_context.c (sp_*_context_root_handler) : make desktop->acetate
	grab mouse events during drawing

	* glade/guide_dialog.png: New file

2001-03-20  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-item-group.c (sp_group_menu): Add "Ungroup" item (does nothing at moment)

	* src/display/canvas-bgroup.c (sp_canvas_bgroup_point): Test sensitivity and stickyness
	(sp_canvas_bgroup_set_sensitive): New function

	* src/display/canvas-shape.c (sp_canvas_shape_point): Test sensitivity and stickyness
	(sp_canvas_shape_set_sensitive): New function

	* src/sp-item-group.c (sp_group_read_attr): Read "insensitive" too

	* src/sp-shape.c (sp_shape_read_attr): Read "insensitive" too

	* src/sp-item.c (sp_item_private_menu): Set menuitem label depending on sensibility

	* src/desktop.c (sp_desktop_init): Bind "event" to manipulate sticky state

	* src/display/canvas-image.c (sp_canvas_image_point): Check for
	SP_CANVAS_STICKY_FLAG

	* src/desktop.c (sp_desktop_event): New function, Set SP_CANVAS_STICKY_FLAG if
	user holds Shift key

2001-03-09  Lauris Kaplinski  <lauris@ximian.com>

	* glade/Makefile.am (pixmaps): Added all pixmaps to dist

	* configure.in: Version 0.22

2001-03-09  Frank Felfe  <innerspace@iname.com>

	* src/desktop.c (sp_desktop_update_scrollbars): Cleanup

	* src/event-context.c (sp_event_context_private_root_handler): Use
	Gdk keysyms instead of numeric values. Add moving/panning keybindings,
	space for root menu popup
	(sp_event_root_menu_popup): Pop menu on space

	* select-context.c (sp_select_context_root_handler): Use Gdk keysyms
	instead of numeric values

	* selection-chemistry.c (sp_selection_move_screen): New function
	(sp_selection_item_next): New function
	
	* doc/keybingings.txt: New keybingings

2001-03-09  Lauris Kaplinski  <lauris@ximian.com>

	* src/nodepath.c (node_event): Update repr after deletion

	* src/file.c (file_open_ok): Destroy widget instead of hiding
	(file_open_cancel): New function
	(sp_file_open): Connect new cancel handler
	(file_save_ok): Exit from private main loop
	(file_save_cancel): New function
	(sp_file_save_as): Connect new cancel handler, enter private loop
	(file_import_cancel): New function
	(sp_file_import): Connect new cancel handler
	(file_export_cancel): New function
	(sp_file_export): Connect new cancel handler

2001-03-08  Lauris Kaplinski  <lauris@ximian.com>

	* src/interface.c (sp_ui_delete): New function presenting close
	dialog box if needed
	(sp_ui_close_view): Use sp_ui_delete ()
	(sp_create_window): Connect "delete_event" and set window title

	* src/file.c (sp_file_save_document): New function

	* src/document-undo.c (sp_document_done):  Set "modified" attribute

	* src/file.c (file_save_ok): Clear "modified" attribute

2001-03-07  Lauris Kaplinski  <lauris@ximian.com>

	* doc/keybindings.txt: Register node editing keystrokes

	* src/desktop.c (sp_desktop_new): Do not grab focus here

	* src/helper/sodipodi-ctrl.c: Added shape argument type
	(sp_ctrl_class_init): Ditto
	(sp_ctrl_init): Ditto
	(sp_ctrl_set_arg): Ditto
	(sp_ctrl_update): New logic, keep node absolute size always odd number
	(sp_ctrl_point): Ditto
	(draw_line): New function
	(draw_point): New function
	(sp_ctrl_render): New logic, draw diamond shape

	* src/desktop-events.c (sp_desktop_root_handler): Grab focus on
	acetate enter notify

	* src/knot.c (sp_knot_set_arg): Set shape attribute
	(sp_knot_handler): Grab focus on enter notify
	(sp_knot_update_ctrl): Set shape
	(sp_knot_set_ctrl_state): New function

	* src/node-context.c (sp_node_context_root_handler): Process keypresses

	* src/nodepath.c (sp_nodepath_node_new): Connect "event" and set knot shape
	(node_clicked): Toggle type on Ctrl-click
	(node_event): New signal handler for keypresses
	(sp_nodepath_set_node_type): Set knot shape

2001-02-21  Michael Meeks  <michael@ximian.com>

	* configure.in: depend on Bonobo >= 0.37.

2001-02-21  Lauris Kaplinski  <lauris@ximian.com>

	* configure.in: Commented out GNOME_PRINT_CHECK

2001-02-19  Lauris Kaplinski  <lauris@ximian.com>

	* src/desktop.c (sp_desktop_connect_item): New function

	* src/sp-item.c (sp_item_view_new_prepend): View list management
	(sp_item_view_list_remove): Ditto

	* src/sp-item.h: SPItemView - new object encapsulating view. I also induced
	changes in almost all source files

	* src/sp-item-group.h: New file

	* src/bonobo/embeddable-drawing.c (sp_embeddable_drawing_get_type):
	Use new bonobo object stuff
	(sp_embeddable_drawing_factory): Ditto

	* src/bonobo/embeddable-desktop.c (sp_embeddable_desktop_get_type):
	Use new bonobo object stuff
	(sp_embeddable_desktop_factory): Ditto

	* src/bonobo/embeddable-document.c (sp_embeddable_document_get_type):
	Use new bonobo object stuff
	(sp_embeddable_document_new): Ditto

2001-02-17  Lauris Kaplinski  <lauris@ximian.com>

	* src/sp-object.c (sp_object_getAttribute): New function
	(sp_object_setAttribute): New function
	(sp_object_removeAttribute): New function

2001-02-11  Lauris Kaplinski  <lauris@ximian.com>

	* configure.in: Added es to ALL_LINGUAS
	
2001-02-07  Lauris Kaplinski  <lauris@ximian.com>

	* src/dialogs/object-properties.c: Added channel sliders
	* glade/object_props.glade: Ditto
	* samples/mangatips6.svg: New file
	* samples/mangatips7.svg: New file
	* samples/mangatips8.svg: New file
	* samples/mangatips9.svg: New file
	* samples/mangatips10.svg: New file
	
2001-02-06  Lauris Kaplinski  <lauris@ximian.com>

	* samples/mangatips3.svg: New file
	* samples/mangatips4.svg: New file
	* samples/mangatips5.svg: New file

2001-01-29  Fatih Demir	<kabalak@gmx.net>

	* src/widgets/.cvsignore: Added this.

2001-01-26  Lauris Kaplinski  <lauris@ximian.com>

	* configure.in: Version 0.21
	
2001-01-24  Lauris Kaplinski  <lauris@ximian.com>

	* src/document-undo.c (sp_document_add_repr): Do not expect repr
	always correspond to item

	* src/toolbox.c (sp_maintoolbox_create): Save edit/undo/redo widgets
	(sp_update_draw_toolbox): Unsensitize undo/redo for draw and node
	contexts

2001-01-09  Lauris Kaplinski  <lauris@ximian.com>

	* src/desktop (sp_desktop_change_document): Update namedviews aslo

2001-01-09  Lauris Kaplinski  <lauris@ximian.com>

	* samples/mangatips1.svg: New file
	* samples/mangatips2.svg: New file

	* src/xml/Makefile.am: Use SODIPODI_CFLAGS

2001-01-08  Frank Felfe  <innerspace@iname.com>
	
	* desktop.*: use gnomeappbar in desktop-window,
	use gtk_combo_text widget from libgal

	* src/desktop-events.c: use gnomeappbar

	* src/event-context.c: global keybindings

	* src/select-context.c: keybindings

	* src/text-context.c: filter Ctrl-keys for keybindings

	* src/interface.c: connect to focus-in-event from desktop-window

	* glade/toolbox.glade: keybindings for the maintoolbox-menu

	* doc/keybindings.txt

2001-01-08  Lauris Kaplinski  <lauris@helixcode.com>

	* src/selection-chemistry.c (sp_selection_rotate_90): Brought
	function here from toolbox.c and renamed

	* glade/toolbox.glade: Use sp_selection_rotate_90

	* src/desktop_snap.* (sp_desktop_circular_snap): New function

	* src/rect-context.c (sp_rect_context_destroy): Finish object, if exists

	* src/ellipse-context.c: (sp_ellipse_context_destroy): Ditto
	
2001-01-04  Lauris Kaplinski  <lauris@helixcode.com>

	* src/helper/sodipodi-ctrlrect.*: Draw by hand instead of using
	libart. That fixed ugly-ugly freezing bug in Mandrake

	* src/preferences-skeleton.h: New file, encoding default preferences

	* glade/sodipodi.glade: Changes _Uus to _New in menu ;)

	* src_sodipodi.* (sodipodi_load_preferences): New function
	(sodipodi_save_preferences): New function
	(sodipodi_get_repr): New function for retrieving data from preferences
	DOM tree.
	
	* src/draw-context.c (set_to_accumulated): Use style preferences
	* src/rect-context.c (sp_rect_drag): Ditto
	* src/ellipse-context.c (sp_ellipse_drag): Ditto
	* src/text-context.c (sp_text_context_root_handler): Ditto
	(sp_text_complete): ungrab keyboard

	* src/toolbox.c (sp_toolbox_create): Use preferences
	
2001-01-02  Lauris Kaplinski  <lauris@helixcode.com>

	* src/widgets/sp-toolbox.*: general toolbox implementation

	* src/toolbox.c: Use SPToolBox widget, load and save toolbox states

	* src/sodipodi.* (sodipodi_set_key): New function for setting
	preference values into xml tree
	(sodipodi_get_key): Ditto
	(sodipodi_set_key_as_number): Ditto
	(sodipodi_get_key_as_number): Ditto

	* src/xml/repr-io.c (sp_repr_read_file): Load whatever element node as root
	(sp_repr_read_mem): Ditto

2000-12-31  Michael Meeks  <michael@helixcode.com>

	* src/xml/repr-io.c (sp_repr_save_file): split into
	(sp_repr_save_stream): here.

	* src/bonobo/embeddable-document.c (sp_embeddable_document_pf_load),
	(sp_embeddable_document_pf_save): update signatures for new persistfile API.

2000-12-30  Lauris Kaplinski  <lauris@helixcode.com>

	* src/main.c (main): Reenable command-line filenames

	* src/sodipodi.* (sodipodi_application_new): New function
	
2000-12-29  Michael Meeks  <michael@helixcode.com>

	* src/bonobo/embeddable-document.c (sp_embeddable_document_factory): upd.

	* Makefile.am (oafdir): kill gnorba bits, update naming.

	* src/bonobo/svg-doc-factory.c (sp_svg_doc_factory_init): upd.
	(sp_svg_factory): new multi factory.

	* GNOME_Sodipodi.oafinfo: add, rename stuff.

	* configure.in (have_bonobo): require bonobo >= 0.30

2000-12-28  Christopher R. Gabriel  <cgabriel@softwarelibero.org>

	* configure.in (ALL_LINGUAS): 'it'

2000-12-27  Lauris Kaplinski  <lauris@helixcode.com>

	* src/display/nr-svp-uncross.c: Lot of clenaup

	* src/display/nr-svp-render: Comment out printouts

	* src/display/nr-primitives.h: #define NR_COORD_TOLERANCE

2000-12-26  Lauris Kaplinski  <lauris@helixcode.com>

	* src/display/nr-svp-uncross.c (nr_svp_uncross_full): more cases -
	rays, intersection - some cleanups

	* src/display/nr-svp-render.c (nr_svp_render_rgb_rgba): Cleanups

2000-12-25  Lauris Kaplinski  <lauris@helixcode.com>

	* src/display/nr-primitives.h: Move NRCoord and NRPoint here
	* src/display/nr-primitives.c: NRDRect methods

	* src/display/nr-svp.*: Rewrite. NRSVP is now simple ordered
	segment and we use linked (sorted) lists for describing more
	complex geometries
	* src/display/nr-svp-uncross.*: Ditto, partial implementation
	* src/display/nr-svp-render.* Ditto. Works.

2000-12-21  Lauris Kaplinski  <lauris@helixcode.com>

	* src/display/nr-svp-render.c: Lot's of cleanup

2000-12-20  Lauris Kaplinski  <lauris@helixcode.com>

	* src/display/nr-svp-render.c (nr_svp_render_rgb_rgba): It
	works to some extent!
	* src/display/canvas-shape.c (sp-canvas_shape_render): Use New
	Rendering, #ifdef NEW_RENDER

	* src/display/testnr.c: Silly file

2000-12-19  Lauris Kaplinski  <lauris@helixcode.com>

	* src/display/nr-uta.*: UTA Implementation

	* src/display/nr-aa-canvas.*: RGB Buffer canvas

	* src/display/sp-arena.*: Widget, using RGB canvas

	* src/display/sp-canvas-item.*: Item subclass for arena
	* src/display/sp-canvas-group.*: Ditto

2000-12-17  Lauris Kaplinski  <lauris@helixcode.com>

	* src/display/nr-primitves.h: typedef NRPoint

	* src/display/nr-canvas.*: More code
	* src/display/nr-canvas-item.*: Ditto
	* src/display/nr-canvas-group.*: Ditto

2000-12-16  Lauris Kaplinski  <lauris@helixcode.com>

	* src/display/nr-canvas-group.*: Base class for canvas groups
	* src/display/nr-primitives.*: Graphic primitives

2000-12-15  Lauris Kaplinski  <lauris@helixcode.com>

	* src/display/nr-canvas.*: Experimental new rendering stuff (not working)
	* src/display/nr-canvas-item.*: Ditto (not working)
	* src/display/nr-svp.*: Ditto (works)
	* src/display/nr-svp-uncross.*: Ditto (works)
	* src/display/nr-svp-render.*: Not working yet

	* configure.in: Added {with|without}-new-render switch

2000-11-30  Szabolcs Ban  <shooby@gnome.hu>

	* glade/toolbox.c: corrected "zom factor" to "zoom factor"

2000-11-30  Szabolcs Ban  <shooby@gnome.hu>

	* configure.in (ALL_LINGUAS): add hu.

2000-11-26  Lauris Kaplinski  <lauris@helixcode.com>

	* src/toolbox.c (sp_maintoolbox_create): Strip toolbox names
	(sp_toolbox_create_widgets): Make windows toplevel

	* glade/*.glade: Make windows to be toplevel

2000-11-25  Christopher R. Gabriel  <cgabriel@softwarelibero.org>

	* debian/: added the debian scripts from package maintainer,
	Davide Puricelli <evo@debian.org>

2000-11-17  Yuri Syrota  <rasta@renome.rovno.ua>

	* glade/transformation.c
	* glade/transformation.glade: correct "vertival move" to "vertical move"
	
2000-11-17  Lauris Kaplinski  <lauris@helixcode.com>

	* src/dialogs/text/edit.c (sp-text-dialog-close): Destroy
	dialog, so font listing will be regenerated

2000-11-02  Michael Meeks  <michael@helixcode.com>

	* configure.in: Check for bonobo >= 0.27

2000-10-27  Michael Meeks  <michael@helixcode.com>

	* configure.in (ALL_LINGUAS): add pt_BR.

2000-10-26  Lauris Kaplinski  <lauris@helixcode.com>

	* configure.in: Define libxml include path

	* src/Makefile.am: Use libxml include path

	* src/main.c: Ditto

	* src/xml/Makefile.am: Ditto

	* src/xml/repr-io.c: Ditto

2000-10-21  Zbigniew Chyla  <cyba@gnome.pl>

	* configure.in: Added pl to ALL_LINGUAS.

2000-10-21  Zbigniew Chyla  <cyba@gnome.pl>

	* sodipodi/src/toolbox.c (sp_maintoolbox_create):
	Marked strings for translation.

2000-10-18  Christophe Merlet  <christophe@merlet.net>

	* configure.in: Oups, forgotten to add French (fr) to $ALL_LINGUAS

2000-10-18  Christophe Merlet  <christophe@merlet.net>

	* sodipodi.desktop: Added French string.

2000-10-17  Lauris Kaplinski  <lauris@helixcode.com>

	* src/nodepath.c (sp_nodepath_node_destroy): fixed YANC (Yet
	Another Nodepath Crash)
	
2000-10-16  Frank Felfe  <innerspace@iname.com>

	* glade/toolbox.glade: Updated zoom toolbox

	* src/desktop-events.*: Added sp_canvas_root_handler

	* src/desktop.c: Added statusbar, clean up zooming

	* src/sp-metrics.* (sp_metric_to_metric_string): A way to
	suppress metric identifier in strings

	* src/sp-ruler.c: Copy GtkRuler object

	* src/zoom-context.c: Use desktop region markup with border

	* src/bonobo/embeddable-desktop.c: Ditto
	
2000-10-13  Lauris Kaplinski  <lauris@helixcode.com>

	* src/text-context.c (sp_text_context_item_handler): Return
	if repr == NULL; Commit changes to undo stack.

2000-10-11  Lauris Kaplinski  <lauris@helixcode.com>

	* src/draw-context.c (sp_draw_context-destroy): Detach signal

2000-10-11  Frederic Devernay <Frederic.Devernay@sophia.inria.fr>

	* Makefile.am: Use test -r for compatibility

	* src/Makefile.am: Remove -export-dynamic

	* src/main.c: Use libxml 1.8.8/2.0

	* src/interface.c: Make fake_dialogs nonstatic

	* src/xml/repr-io.c: Use libxml 1.8.8/2.0

2000-10-09  Lauris Kaplinski  <lauris@helixcode.com>

	* configure.in: Version 0.20

	* src/helper/unit-menu.*: New convenience object

	* src/desktop.c (sp_desktop_destroy): Destroy first eventcontext,
	then selection

	* src/draw-context.c: Make silent

	* src/file.c (sp_file_import_ok): Use "xlink:href" for images

	* src/sp-image.c (sp_image_read_attr): Use "xlink:href"
	(sp_image_repr_read_image): Ditto

	* src/svg/svg.h: Use bitfield for units

2000-10-08  Lauris Kaplinski  <lauris@helixcode.com>

	* src/dialogs/object-properties.c: Do not keep CSS objects, so
	fill & stroke do not overwrite each other settings

2000-10-08  Frank Felfe  <innerspace@iname.com>

	* glade/align.glade: Improvements

	* glade/object_props.glade: New layout

	* src/sp-ruler.*: New files, implementing wrapper for Gtk rulers

	* src/sp-metrics.*: Default metrics, ruler metrics

	* src/desktop.c (sp_desktop_init): use ruler wrappers
	
2000-10-07  Lauris Kaplinski  <lauris@helixcode.com>

	* src/desktop.c (sp_desktop_realize): Zoom to page on first display

	* src/document-undo.c (sp_document_done): Limit undo to 128 levels

	* src/document.c (sp_document_new): Set docbase & docname before
	creating object tree

	* src/sp-image.c (sp_image_repr_read_image): Find right root repr

	* src/sp-shape.c (sp_shape_paint): Use right stroke width

	* src/dialogs/export.c (sp_export_do_export): use ::paint() method

	* src/xml/repr-io.c (sp_repr_svg_read_node): Return on comment and text
	nodes

	* src/xml/repr.c (sp_repr_document): Implement

2000-10-06  Lauris Kaplinski  <lauris@helixcode.com>

	* glade/document.glade: Page setup dialog

	* src/dialogs/document-properties.c: Implement page
	setup dialog

	* src/desktop.*: Keep page rectangle in SPDesktop

	* src/sp-root.c: Update page rectangle

	* src/file.c (sp_file_print_to_printer): gnome_print_bgeinpage ()
	Remove FRGBA creation

	* src/dialogs/export.c (sp_export_do_export): gnome_print_beginpage ()

	* glade/sodipodi.glade: Add document & xml tree to properties menu

	* src/interface.c (sp_create_window): Remove ugly buttons

	* src/mdi-ui.*: Removed
	* src/dialogs/object-fill.*, object-stroke.*: Removed
	
2000-10-05  Lauris Kaplinski  <lauris@helixcode.com>

	* src/helper/canvas-grid.*: Grid item for canvas

	* src/sp-namedview.c: Use & update grid

	* src/desktop-snap.c: Snap to grid

2000-10-04  Frank Felfe <innerspace@iname.com>

	* glade/transformation.glade: Improved dialog

	* glade/*.xpm: New icons

	* src/dialogs/transformation.*: Improved dialog

	* src/selection-chemistry.*: new transformation functions

	* src/sp-metrics.*: New files

2000-10-04  Lauris Kaplinski  <lauris@helixcode.com>

	* src/nodepath.c: #define reasonable knot colors
	(sp_nodepath_selected_nodes_move): Implement snapping
	(node_ctrl_request): Implement snapping

2000-10-03  Lauris Kaplinski  <lauris@helixcode.com>

	* src/nodepath.c (update_repr): Call sp_document_done ()

	* src/dialogs/desktop-properties.*: Use new dialog layout

	* glade/desktop.glade: Use new dialog layout

	* src/sp-guide.*: "color" and "hicolor" attributes

	* src/sp-namedview.*: Bunch of new attributes

	* src/desktop-events.c (sp_dt_guide_event): Use guide colors
	(sp_dt_ruler_event): Use guide colors

2000-10-02  Lauris Kaplinski  <lauris@helixcode.com>

	* src/knot.c (sp_knot_set_flag): Implement different outlines
	(sp_knot_update_ctrl): New function to set SPCtrl colors

	* src/nodepath.*: Mostly rewritten

	* src/node-context.*: Use new SPNodePath

2000-09-30  Yukihiro Nakai  <nakai@gnome.gr.jp>

	* configure.in ALL_LINGUAS: Add Japanese 'ja'

2000-09-21  Pablo Saratxaga <pablo@mandrakesoft.com>
	
	* configure.in: ALL_LINGUAS: added 'ca' for Catalan translation.

2000-09-18  Lauris Kaplinski  <lauris@helixcode.com>

	* src/dialogs/object-properties.*: New combined fill + stroke +
	transformation dialog by Frank Felfe

	* glade/*.xpm: Lots of new icons etc. by Frank Felfe

	* src/desktop.*, interface.c, select-context.c, seltrans.c: Changes

	* selection-chemistry.* (sp_selection_apply_affine): New function by
	Frank Felfe
	(sp_selection_remove_transforms): Same

2000-09-17  Lauris Kaplinski  <lauris@helixcode.com>

	* src/draw-context.c (sp_draw_context_root_handler): Handle Ctrl
	and fix an missing segment, while continuing Ctrl-aligned line.

	* src/ellipse-context.c (sp_ellipse_read-attr): Use sodipodi namespace
	for "start", "end". Replace "closed" with "open", so closed is default

	* src/sp-ellipse_context.c: Ditto

	* src/sp-object.c: #define SP_OBJECT_CLONED_FLAG

	* src/sp-root.c (sp_root_read_attr): Tru to read "viewBox" attribute.
	The implementation is hackish, but it works, until document size is fixed

	* src/display/canvas-shape.c (sp_canvas_shape_update): Calculate correct
	line thickness

2000-09-16  Lauris Kaplinski  <lauris@helixcode.com>

	* src/draw-context.*: Freehand should work OK now

	* src/display/canvas-shape.c (sp_canvas_shape_render): Test, if
	archetype has stroke SVP

	* src/display/path-archetype.c (sp_path_at_new): Disturb Vpaths
	before stroking - this removes ugly random crashing in art_uta_from_svp

2000-09-15  Lauris Kaplinski  <lauris@helixcode.com>

	* src/sp-line.h, sp-line.c: <line> item

	* src/sp-polyline.h, sp-polyline.c: <polyline> item

	* src/sp-polygon.c, sp-polygon.h: <polygon> item

	* src/sp-object-repr.c (sp_object_type_lookup): Register new item types

	* src/helper/curve.c (sp_curve_closepath): Add point, if end != start
	
2000-09-14  Lauris Kaplinski  <lauris@helixcode.com>

	* src/Makefile.am: Define GNOME_PIXMAPDIR

	* src/main.c (main): Set default icon

	* interface.c (sp_create_window): Set icon

	* src/sp-text.c (sp_text_set_shape): Use helvetica for unknown font

	* src/helper/art-utils.* (art_svp_translate): New function
	(art_uta_from_svp_translated): Use art_svp_translate ()

	* draw-context.*: Use experimental spline fitting for freehand
	lines, during drawing generate many small lines, instead of
	one big.

2000-09-13  Lauris Kaplinski  <lauris@helixcode.com>

	* desktop-snap.c, desktop-snap.h (sp_desktop_horizontal_snap):
	Implemented
	(sp_desktop_vertical_snap): Ditto
	(sp_desktop_free_snap): Rewrote, using horiz. and vert. snapping
	(sp-desktop_vector_snap): Implemented

	* rect-context.c, rect-context.h: Rewrote event handling stuff,
	so it now supports (hopefully) all snapping chemistry

	* sp-namedview.c (sp_namedview_build, sp_namedview_read_arg):
	Implemented arguments "snaptoguides" and "guidetolerance"

	* sp-rect.c (sp_rect_set_arg): Implemented Gtk+ argument setting

	* ellipse-context.c, ellipse-context.h: Ditto

2000-09-12  Lauris Kaplinski  <lauris@helixcode.com>

	* src/*.c, glade/desktop.*, src/dialog/desktop-properties.*:
	Hacked together a preliminary guideline support stuff.	It
	sucks really for anything other than scaling, but now we have
	at least something to improve in future.

2000-09-09  Lauris Kaplinski  <lauris@helixcode.com>

	* sodipodi.c, sodipodi-private.h: New filed. Bye-bye to
	Gnome-MDI interface, instead we have much more convenient
	sodipodi object.
	This introduced many changes mostly everywhere.

	* src/helper/gt1*, src/helper/parseAFM.*: removed gt1 library,
	as it is now accessible through gnome-print

	* Makefile.am, src/Makefile.am, glade/Makefile.am: We'll pass
	'make distcheck' again

	* src/sp-item-group.c: Children update, if parent's style is
	changed

2000-09-06  Lauris Kaplinski  <lauris@helixcode.com>

	* glade/*: Added Frank Felfe new icons and toolbopx stuff

	* src/toolbox.*: Toolbox stuff (Frank Felfe)

	* src/sp-item-transform.*: Same

2000-08-24 Alastait McKinstry <mckinstry@computer.org>

	* configure.in: ALL_LINGUAS: added 'ga' for Irish translation.

2000-08-19  Lauris Kaplinski  <lauris@helixcode.com>

	* glade/transformation.glade: Transformation dialog (Frank Felfe)

	* src/dilaogs/transfomration.*: Transfomration dialog (Frank Felfe)

	* src/mdi-ui.c: Added transformation dialog

	* po/POTFILES.in: Added glade/transformation.c
	
2000-08-18  Lauris Kaplinski  <lauris@helixcode.com>

	* configure.in: Version 0.19
	* Makefile.am: Comment out dist-hook
	* sodipodi.spec.in: Build 0

	* glade/align.glade: Added alignment base selection

	* po/POTFILES.in: Added src/dialogs/align.c

	* src/desktop.c: Display page borders

	* src/sp-text.c: break text at newlines

	* src/dialogs/align.c: New algorithm plus alignment base selection
	
2000-08-15  Lauris Kaplinski  <lauris@helixcode.com>

	* glade/stroke.glade: Moved dialog to separate file
	* Added Frank Felfe icons, that I forgot last time
	
2000-08-10  Lauris Kaplinski  <lauris@helixcode.com>

	* src/main.c (main): Commented out arg parsing - it segfaulted for me

	* glade/align.glade
	* glade/al*
	* src/dialogs/align.*: Alignmeant dialog by Frank Felfe <innerspace@iname.com>

	* configure.in: Need bonobo >= 0.17

	* src/bonobo/embeddable-document.c (sp_bonobo_stream_read): Bonobo API change
	
2000-08-10  Lauris Kaplinski  <lauris@helixcode.com>

	* doc/architecture.txt: First step in generating developers documentation
	
2000-08-09  Lauris Kaplinski  <lauris@helixcode.com>

	* glade/*.xpm: Added Frank Felfe's node editing icons and node dialog

	* src/sp-ellipse.c (sp_ellipse_description): return "Ellipse"

	* src/sp-text.c (sp_text_description): Return either contents or "Text" if NULL

2000-08-07  Lauris Kaplinski  <lauris@helixcode.com>

	* configure.in: Require gnome-print >= 0.21

	* glade/text-dialog.glade: New layout, suitable for gnome-font-selection

	* src/Makefile.am: Add libunicode

	* src/sp-chars.h:
	* src/sp-chars.c:
	* src/sp-text.h:
	* src/sp-text.c: Use gnome-font instead of wrapper

	* src/dialogs/text-edit.c: Use new GnomeFontSelection and GnomeFontPreview
	
2000-08-03  Michael Meeks  <michael@helixcode.com>

	* configure.in: update for BonoboX

2000-07-01  Lauris Kaplinski  <lauris@helixcode.com>

	* src/sp-namedview.c (and everywhere else): Guides are visible,
	  although not functional yet.

	* src/desktop.c (sp_desktop_new): Use document + namedview
	  combination for creating desktop.

2000-07-01  Lauris Kaplinski  <lauris@helixcode.com>

	* src/file.c (sp_do_file_print_preview): Don't use FRGBA, as
	  print preview can handle alpha itself

	* src/sp-object-group.h
	* src/object-group.c: Added SPObjectGroup to handle groups of
	  invisible objects (such as NamedViews)

	* src/sp-namedview.h:
	* src/sp-namedview.c: Extends SPObjectGroup

	* src/xml/sp-repr.c (sp-repr-destroy): fix hash table destroy

2000-06-21  Chema Celorio  <chema@celorio.com>

	* src/file.c (sp_do_file_print_preview): added print preview
	stuff. new function
	(sp_print_preview_destroy_cb): new function
	(sp_file_print_preview): new function
	modified the menu to include a print preview item

2000-06-21  Lauris Kaplinski  <lauris@helixcode.com>

	* src/selection.c (sp_selection_update_statusbar): Added original
	  idea of printing sp_image_description (), if single item is
	  selected

	* glade/*.xpm: Jeff's icons. I need to find a way to use png
	  variants, xpm sucks

2000-06-21  Chema Celorio  <chema@celorio.com>

	* src/desktop.c (sp_desktop_set_status): it was #if'ed out,
	reenabel it.

	* src/selection.c (SP_SELECTION_C): added debug messages and macro
	If lauris does not like them I will take them away.
	(sp_selection_update_statusbar): new function

	* src/mdi.c (sp_mdi_app_created): add statusbar to main window.

2000-06-11  Benedikt Roth  <Benedikt.Roth@gmx.net>

	* configure.in: Added de to ALL_LINGUAS.
	* sodipodi.desktop: Added German translations

2000-06-05  Lauris Kaplinski  <lauris@kaplinski.com>

	* src/dialogs/export.c (sp_export_do_export): use pixbuf context,
	instead of rbuf

2000-06-05  Michael Meeks  <michael@helixcode.com>

	* src/dialogs/export.c (sp_export_do_export): s/rbuf_rgba_new/rbuf_new/

	* src/bonobo/embeddable-document.c: kill a load of redundant prototypes,
	and re-order to suit. (sp_embeddable_document_ps_save),
	(sp_embeddable_document_ps_load): fix for new stream API.
	(sp_embeddable_document_factory): update stream constructor.

2000-05-14  Lauris Kaplinski  <lauris@ariman.ee>

	* src/knot.*: Lot of rearranging, new signals

	* src/seltrans.c: Changes induced by new knot signalling
	Added fake snapping to PostScript points (remove it, if you dare ;)
 
2000-05-13  Lauris Kaplinski  <lauris@ariman.ee>

	* src/document-private.h: Removed width and height attributes

	* src/sp-root.c: Added "width" and "height" readable attributes
 
2000-05-12  Lauris Kaplinski  <lauris@ariman.ee>

	* src/xml/repr.h: A bit rearranging, added SPReprDoc, induces
	changes almost everywhere else

	* src/document-private.h: Hide all document internal structure
 
2000-05-12  Lauris Kaplinski  <lauris@ariman.ee>

	* src/sp-namedview.*: Implemented skeleton

	* src/sp-guide.*: Implemented skeleton

	* src/sp-object-repr.c: Added NamedView and Guide

	* src/helper/sp-guide.*: Changed name to SPGuideLine
 
2000-05-11  Lauris Kaplinski  <lauris@ariman.ee>

	* src/desktop-events.c: Collected events to separate file
	Added guidline and grid positioning skeleton

	* src/helper/sp-guide.*: Guideline implementation
 
2000-05-10  Lauris Kaplinski  <lauris@ariman.ee>

	* glade/*.xpm: Some new icons (thanks to Jeff Mrochuk)

	* src/knot.*: signals clicked, grabbed, ungrabbed, moved
	Many fixes and enhancements

	* src/seltrans.c: Use knots instead of Ctrl canvas items
 
2000-05-09  Michael Meeks  <michael@helixcode.com>

	* src/bonobo/svg-doc-factory.c (sp_svg_doc_factory_init): add
	config.h + OAFIID.

 	* Makefile.am: Install oaf data.
 
 	* src/main.c (main): re-tool for oaf.

	* configure.in: Check for oaf.
 
2000-05-06  Lauris Kaplinski  <lauris@ariman.ee>

	* src/knot.h: Added signals "grab", "ungrab" and "move"
	* src/knot.c: Implemented signals, event etc.

2000-05-05  Lauris Kaplinski  <lauris@ariman.ee>

	* src/desktop-handles.h: Added SP_DT_IS_EDITABLE
	* src/knot.*: started implementing universal handle object for
	all contexts

2000-05-05  Lauris Kaplinski  <lauris@ariman.ee>

	* src/Makefile.am: Define $gladedir, which has been forgotten :)
	* src/sp-image.c (sp_image_print): Do it :)

2000-05-03  Lauris Kaplinski  <lauris@ariman.ee>

	* src/main.c: Uncommented line interpreting unknown command-line
	arguments as filenames
	* src/document-undo.c (sp_document_undo): If attribute is 'id', find
	affected object from 'new' instead of 'key'
	* src/dialogs/xml-tree.c: Added missing sp_document_done flushes
	* src/sp-object.c (sp_object_read_attr): Fixed def-ing repr
	id attribute instead of objects one

2000-05-02  Lauris Kaplinski  <lauris@ariman.ee>

	* src/sp-item-group.c (sp_group_build): Check that xml node is
	known, before trying to build object from it

2000-05-02  Lauris Kaplinski  <lauris@ariman.ee>

	* src/sp-gradient.*: Implemented skeleton for gradient fills
	* src/sp-object-repr.c: Gradient parsing

2000-05-01  Lauris Kaplinski  <lauris@ariman.ee>

	* src/helper/sodipodi-ctrl.c: Fixed bug in ::render, which left
	buffer->is_bg untouched
	* src/sp-defs.*: New objects, implementing <defs> nodes
	* src/sp-group.*: Groups have both item and non-item members
	* src/sp-image.c: Changed "src" attribute to "href"

2000-04-29  Lauris Kaplinski  <lauris@ariman.ee>

	* xml/repr.*: Reprs are now GtkObjects
	* xml/repr-io.c: Preliminary namespacing (xmlns:sodipodi)

2000-04-29  Lauris Kaplinski  <lauris@ariman.ee>

	* src/dialogs/xml-tree.c (sp_xml_tree_change_attribute_long):
	new function to change long attribute (GtkEntry does not like
	long strings). Also attribute changing in xml pushes Undo stack.

2000-04-28  Lauris Kaplinski  <lauris@ariman.ee>

	* glade/Makefile.am: Added xml-tree.glade

	* src/dialogs/xml-tree.c (sp_xml_tree_change_attribute): implemented
	this

2000-04-27  Miguel de Icaza  <miguel@helixcode.com>

	* glade/Makefile.am: New file.

	* src/dialogs/Makefile.am (gladedir): Define gladedir based on
	$datadir

	* Makefile.am: Remove the local install hack stuff.  And process
	the glade directory.
	
	* configure.in: Do not define PACKAGE_GLADEDIR based on the output
	of gnome-config.  Let the Makefile.am compute that value from the
	various $prefix settings.

2000-04-27  Lauris Kaplinski  <lauris@ariman.ee>

	* src/dialogs/xml-tree.c: Attribute deletion mostly work

2000-04-27  Lauris Kaplinski  <lauris@ariman.ee>

	* src/dialogs/xml-tree.*: Started implementing direct xml editing

	* glade/xml-tree.glade: XML editing dialogs

2000-04-26  Lauris Kaplinski  <lauris@ariman.ee>

	* helper/curve.c (sp_curve_split): Fixed evil memcpy size bug

2000-04-24  Lauris Kaplinski  <lauris@ariman.ee>

	* src/selection-chemistry.c: Implemented Cut/Copy/Paste

2000-04-23  Lauris Kaplinski  <lauris@ariman.ee>

	* src/document.h: added aspect and clip attributes

	* src/bonobo/embeddable-desktop.c: keep full page always visible

	* src/bonobo/embeddable-document.c: print scaled full page

2000-04-21  Lauris Kaplinski  <lauris@ariman.ee>

	* src/mdi-document.c: extract ACTIVE_DOCUMENT for ACTIVE_DESKTOP
	  instead of MDIChild

	* glade/sodipodi.glade: Popup menu

	* src/event-context.c: (sp_event_context_private_root_handler)
	  Popup menu on button 3, if event is not consumed

	* src/zoom-context.c: (sp_zoom_context_root_handler)
	  Assign zoom_out to Shift+Button1 to free Button3 for popup

	* src/draw-context.c: (sp_draw_context_root_handler)
	  Invoke parent handler, if event is not consumed

2000-04-21  Lauris Kaplinski  <lauris@ariman.ee>

	* configure.in: removed plugins/Makefile (not yet folks!)

	* src/bonobo/embeddable-document.c (sp_embeddable_document_factory):
	switched to original gnome-print-context instead of FRGBA

2000-04-21  Michael Meeks  <michael@helixcode.com>

	* configure.in (have_bonobo): add -lbonobo-print

	* src/bonobo/embeddable-document.c (sp_embeddable_document_factory):
	add the print interface.

2000-04-21  Fatih Demir	<kabalak@gmx.net>

	* configure.in : Added tr to ALL_LINGUAS .
	
	* sodipodi.desktop : Added [tr] ..

2000-04-20  Lauris Kaplinski  <lauris@ariman.ee>

	* glade/sodipodi.glade: toggling rulers and scrollbars on/off
	* desktop.c: construct it by hand, borders can be removed
	* mdi-desktop.c: new logic for activating desktops (bonobo needed it)
	* bonobo/embeddable-document.c: removed MDI refcounting
	* bonobo/embeddable-desktop.c: added MDI refcounting, active desktop
	  management and hiding borders, if not active

2000-04-20  Andreas Hyden  <a.hyden@cyberpoint.se>

	* sodipodi.desktop: Added Swedish translation.
	* configure.in: Added sv to ALL_LINGUAS.

2000-04-19  Lauris Kaplinski  <lauris@ariman.ee>

	* configure.in: Added chack for GnomePrintRBuf and GnomePrintFRGBA
	* sp-shape.c: if FRGBA is present, do not emulate alpha
	* file.c: print via FRGBA, if present
	* dialogs/export.c: export via RBuf, if present
	* sp-object.c: fixed infinite loop in allocating id-s

2000-04-17  Lauris Kaplinski  <lauris@ariman.ee>

	* src/sp-image.c: completed migration to new gdk-pixbuf
	* src/display/canvas-image.c: completed migration

2000-04-17  Michael Meeks  <michael@helixcode.com>

	* src/sp-image.c (sp_image_pixbuf_force_rgba): fix.
	(sp_image_bbox): fix.

2000-04-14  Lauris Kaplinski <lauris@ariman.ee>

	* Makefile.am: fixed .desktop inclusion to distribution

2000-04-12  Pablo Saratxaga Pablo <pablo@mandrakesoft.com>

	* configure.in (ALL_LINGUAS): Add Danish

200-04-09  Lauris Kaplinski  <lauris@ariman.ee>

	* bonobo/canvas-translator.*: implemented a translator group, which
          translates xlib canvas calls to antialiased canvas ones.
	
200-04-09  Lauris Kaplinski  <lauris@ariman.ee>

	* document.c: Removed bad memory corruption bug in ::destroy
	* embeddable-document.c: Added PersistentFile interface
	* embeddable-drawing.*: Added BonoboCanvasComponent interface
	
200-04-08  Lauris Kaplinski  <lauris@ariman.ee>

	* Makefile.am: create sodipodi-bonobo symlink if we use bonobo
	* src/sodipodi/*: Added bonobo component, nothing interesting yet
	
200-04-07  Lauris Kaplinski  <lauris@ariman.ee>

	* sodipodi.gnorba: added this, embeddable document will follow soon
	* configure.in: added bonobo check
	
200-04-07  Lauris Kaplinski  <lauris@ariman.ee>

	* sp-shape.c: It prints now semitransparent shapes, rendering these
          to bitmaps. No clipping yet and resolution is hardcoded to 72dpi
	
200-04-05  Kjartan Maraas  <kmaraas@online.no>

	* no.po: Added no to ALL_LINGUAS.
	
2000-04-05  Lauris Kaplinski <lauris@ariman.ee>

    * sp-document.c, sp-file.c, sp-image.c: removed namespace. How to
      extract this correctly from libxml?

2000-04-05  Lauris Kaplinski <lauris@ariman.ee>

    * xml/repr.c: added order_changed_pre callback
    * document-undo.c: stacking order changes are now undoable
    * sp-document.c, sp-file.c, sp-image.c: added namespace "sodipodi",
      still have to do official definition

2000-04-04  Lauris Kaplinski <lauris@ariman.ee>

    * xml/repr-io.c: save DTD & standard header
    * dialogs/object-*: modify default fill & stroke, if nothing selected

2000-04-04  Lauris Kaplinski <lauris@ariman.ee>

    * selection.*: Added functions to select via reprs (now when we have
      unique id-s there isn't any reason thare wasn't such)

2000-04-02  Lauris Kaplinski <lauris@ariman.ee>

    * xml/repr-io.c: A very quick hack to load real svg code (DTD & stuff).
    * sp-shape.c: Fixed bug in exporting open paths, so they are not filled
      anymore.
    * sp-image.c: We can print semitransparent images, although better do not
      stretch these very much

2000-04-02  Lauris Kaplinski <lauris@ariman.ee>

    * document-undo.c, document.c: Undo should now work!

2000-04-01  Lauris Kaplinski <lauris@ariman.ee>

    * document.c: Some undoing/redoing works (duplicate & delete)

2000-04-01  Lauris Kaplinski <lauris@ariman.ee>

    * sp-item-group.c: cleaned up signals, reordering should work now
    * hunted memory leaks & removed most obvious ones

2000-03-31  Lauris Kaplinski <lauris@ariman.ee>

    * Basically completed rewrite, most things do not work

2000-03-30  Lauris Kaplinski <lauris@ariman.ee>

    * Bumped version number to 0.18 & started rewrite of object system

2000-03-29  Lauris Kaplinski <lauris@ariman.ee>

    * Modified argument parsing, --without-gui, if present, has to be first
    * argument, but otherwise now all GNOME/Gtk args work
    * You can also specify multiple files for displaying or printing

2000-03-28  Lauris Kaplinski <lauris@ariman.ee>

    * Added cute little squirrel to /gnome/apps/Graphics ;-)
    * src/desktop.c: Set canvas background to white
    * Makefile.am: added samples to tarball

2000-03-27  Lauris Kaplinski <lauris@ariman.ee>

    * main.c: Applied Yukihiro Nakai FreeBSD patches
    * main.c: Set LC_NUMERIC to "C", to avoid localisation of SVG files :-(

2000-01-25  Lauris Kaplinski <lauris@ariman.ee>

    * dialogs/export.*: a bit better png exporting, still sucks

2000-01-25  Lauris Kaplinski <lauris@ariman.ee>

    * sp-image.c: Cleanups here and there
    * display/canvas-image.c: point method uses alpha, removed SVP-s

2000-01-23  Lauris Kaplinski <lauris@ariman.ee>

    * helper/art*: functions for rendering into RGBA buffer
    * file.*, sp-shape.*, sp-image.*: exporting png bitmaps

2000-01-23  Lauris Kaplinski <lauris@ariman.ee>

    * Uses SPCurve everywhere

2000-01-19  Lauris Kaplinski <lauris@ariman.ee>

    * src/helper/sodipodi-ctrl.*: removed aa rendering

2000-01-18 David Metcalfe (crdjm@sgi.com)

    * Added command line options:
     . [ -f ] file  to load file at startup
     . -p file      to print the file without the GUI starting
     . -t file      to send the print output to the named file
    * -t is currently required for -p as I couldn't find a way of creating
        a GnomePrinter that goes to the default printer. ??
    * Printing doesn't require that X be started

2000-01-16  Lauris Kaplinski <lauris@ariman.ee>

    * Bumped version to 0.17
    * Most things, that worked in 0.15 work again
    * still looses selections, dialogs suck etc.

2000-01-14  Lauris Kaplinski <lauris@ariman.ee>

    * Now uses Gnome MDI
    * Stroke & fill dialogs almost work for multiple displays

2000-01-08  Lauris Kaplinski <lauris@ariman.ee>

    * Major rewrite of object system
    * Multiple views almost work
    * Multiple documents almost work
    * Rects, Ellipses, Drawing and Nodes almost work
    * Nothing else works ;-(
    
1999-12-30  Lauris Kaplinski <lauris@ariman.ee>

    * Bumped version number to 0.15
    * Node editing works enough to be usable
    * Images use relative paths, if possible
    * Text can show accented chars
    
1999-12-25  Lauris Kaplinski <lauris@ariman.ee>

    * Increased version number to 0.14
    * Preliminary node editing mode
    * Stacking order can be changed again
    * Convert to Curves, Combine & Separate functions
    * Corrected repr refcounting - much fewer segfaults now
    * Countless bugfixes here & there
    
1999-12-23  Lauris Kaplinski <lauris@ariman.ee>

    * Major cleanup - most things work better now, but some
    don't work at all :-(
    * Implemented SPChars class
    * Text editing
    * svg importing
    * loading, saving and printing almost works
    
1999-09-02  Lauris Kaplinski <lauris@ariman.ee>

    * Rewrote many things and hacked up the rest.
    Removed Gdome dependency, as I had neither time nor patience
    to mess with it. As a temporary solution I've created SPRepr objects,
    which can contain xml data.
    Added functions: group, ungroup, delete, duplicate, to_front,
    to_back, up, down
    Freehand drawing almost works although need some cleanup
    Outlines are implemented, although not usable yet
    Rect can handle round corners i hope
    Ellipse can be sliced
    
