Mon Jan 22 20:20:14 2007  Tim Janik  <timj@gtk.org>

	* released 0.1.2, binary 0, interface 0.

	* Makefile.am: acbirnet dependency fixup.

	* acbirnet.m4: removed, provided by birnet/ now.

	* configure.in: fixed acbirnet.m4 include.

Mon Jan 22 01:30:59 2007  Tim Janik  <timj@gtk.org>

	* README: explained compiler gotchas.

	* rapicorn/docs/rapicorn16.png: added rapicorn logo.

Sun Jan 21 22:19:12 2007  Tim Janik  <timj@gtk.org>

	* rapicorn/text-pango.cc: fixed stale mutex.

Sat Jan 20 18:28:57 2007  Tim Janik  <timj@gtk.org>

	* rapicorn/primitives.hh: introduced Point::equals() and Rect::equals()
	which compare within an epsilon.

	* rapicorn/region.[hc]*: added epsilon() to export accuracy constant.

	* rapicorn/primitives.cc: fixed Rect::string() output accuracy.

	* tests/region.cc: added basic Rect tests. fixed region comparisons to
	take epsilon into account.

Wed Jan 17 02:55:49 2007  Tim Janik  <timj@gtk.org>

	* birent/: merge with Birnet commit b45930ce7a9478286bbf99d2cca3deea6c271768.

Wed Nov 29 00:44:56 2006  Tim Janik  <timj@gtk.org>

	* released 0.1.2-snapshot, binary 0, interface 0.

	* lots of distcheck fixes, included files missing from tarball.

	* NEWS: updates. added known issues.
	
Tue Nov 28 21:21:59 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/ldscript.map: fixed typeinfo and vtable symbol exports.

	* rapicorn/primitives.hh: removed integer conversions which are now 
	provided by Birnet.

	* rapicorn/root.cc: document resizing logic.

	* rapicorn/itemimpl.hh: added constructor as G++ workaround.

	* rapicorn/region.cc: don't use hex floats which are undigestible 
	for g++-3.4.
	
Sat Nov 11 16:45:11 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/events.hh, rapicorn/events.cc: provide key_value_is_modifier()
	and key_value_to_unichar().

	* rapicorn/key2utf8.cc: put under LGPL, implement key_value_to_unichar().

	* rapicorn/text-editor.cc: insert non-modifier unicode characters.

Sat Nov 11 13:25:54 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/key2utf8.cc: this file maps KEY_* keycodes from keycodes.hh
	to unicode characters. it has been generated by xterm/unicode/convmap.pl
	from xterm-222 (2006-10-18) at http://invisible-island.net/xterm/ and
	ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt (2006-05-23).

Fri Nov 10 01:23:00 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/item.hh, rapicorn/item.cc: introduce invalidate_size() which
	will only cause exposes upon size changes. optimized allocation logic
	to skip exposes if no size changes occoured.

	* rapicorn/rootimpl.hh:
	* rapicorn/root.cc: removed stamp logic. adaptions to size/expose logic
	fixes in viewport. 

	* rapicorn/viewport-gtk.cc: removed expose stamps which are unused. added
	a flag to ignore expose events if resizes are pending.

	* rapicorn/text-editor.cc: removed unecessary invalidation on insertions,
	the text client takes care of this.

Thu Nov  9 09:43:18 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/text-editor.cc: added methods for character insertion, delete
	and backspace.

	* rapicorn/text-pango.cc: fixed character deletion to leave the mark 
	unchanged.

Wed Nov  8 01:16:52 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/root.cc: handle resizing with a higher priority than 
	redrawing, so we're not redrawing with invalid item sizes.

Mon Oct 23 02:57:44 2006  Tim Janik  <timj@gtk.org>

	* upgraded to newer Birnet and automake-1.9.
	fixed all makefiles and configure.in.

	* Makefile.decl: added upgrades from the BEAST project.

	* po/Makefile.intltool:
	* autogen.sh: override po/Makefile.in.in so we can add extra rules.

	* tests/primitives.cc: speed up HSV test for quick checks.

Wed Oct 11 02:15:57 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/text-editor.hh, rapicorn/text-editor.cc: simplified former
	Client API and added "mark" concept to client API.

	* rapicorn/text-pango.cc: implement new Text::Editor::CLient API,
	including implementing pango's visual cursor movement for strong
	cursors.

	* tests/Makefile.am: cleanups.

Tue Oct 10 23:53:45 2006  Tim Janik  <timj@gtk.org>

	* adapted sources to use the new Birnet C++ API.

	* rapicorn/birnetmarkup.cc: removed UTF-8 hacks, simply use 
	birnetutf8.hh now. improved invalid-utf-8 error messages to pinpoint
	actual errors.

	* rapicorn/birnetutils.hh, rapicorn/birnetutils.cc: moved string 
	utilities to Birnet.

	* examples/tour.xml:
	* examples/texttest.xml:
	* examples/scroller.xml: 
	* rapicorn/rapicorn.xml: fixed XML namespaces.

Sun Oct  8 03:51:29 2006  Tim Janik  <timj@gtk.org>

	* misc adaptions to recent Birnet.

	* rapicorn/birnetutils.hh, rapicorn/birnetutils.cc: added UUID
	string detection and comparison.

	* tests/primitives.cc: added tests for UUID functions.

Sat Sep 30 02:57:57 2006  Tim Janik  <timj@gtk.org>

	* examples/tour.xml: added frames test.

Sat Sep 30 02:37:44 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/root.cc: send key events to focus child.

	* rapicorn/container.hh, rapicorn/container.cc: const fixes, export
	get_focus_child(). 
	move_focus(): grab focus on this if this->can_focus().

	* rapicorn/item.cc: move_focus(): grab focus on this if this->can_focus().

	* rapicorn/paintcontainers.cc: expose FocusFrame if focus child changed.
	also fixed focus state logic.

	* rapicorn/buttons.cc: removed move_focus(), the container default 
	implementation is now good enough.

	* rapicorn/text-editor.cc: started at key press and cursor movement handling.

	* rapicorn/text-pango.cc: draw cursor.

	* rapicorn/paintgadgets.cc: resized default Drawable size.

	* examples/texttest.cc, examples/texttest.xml: new example for text tests,
	added markup and ASCII art tests as well as scrolling test.

	* examples/tour.xml: major cleanups, removed scrolling and text tests.

Thu Sep 28 01:30:17 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/item.hh: removed identifier arg from internal interface match
	function implementations. supplied identifier argument when creating
	InterfaceMatch structures.

	* rapicorn/container.*: made local_children() const.

	* rapicorn/utilities.hh, rapicorn/utilities.hh:
	added idnetifier string to InterfaceMatch and implemented match() method
	to automatically check the identifier, this significantly simplifies uses
	of InterfaceMatch. remove signal sig_find_interface which seems useless.
	some cleanups.

	* rapicorn/text-editor.hh: provide Editor interface.
	* rapicorn/text-editor.cc: implement Factory::Editor with EditorImpl.

	* rapicorn/rapicorn.xml: declare TextEditor.

Sun Sep 24 20:33:04 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/painter.hh, rapicorn/painter.cc: added drawing methods to
	draw directional arrows, trapezoid and a quadrangle.

	* rapicorn/paintgadgets.hh, rapicorn/paintgadgets.cc: removed cairo
	painter uses. added DrawableImpl, an implementation of 
	Rapicorn::Drawable.

	* rapicorn/primitives.hh: removed unused Color::blend, added
	Color::add_premultiplied().

	* rapicorn/rapicorn.xml: define Drawable.

	* rapicorn/text-pango.cc: removed all trapezoid rendering code, use
	Painter::draw_trapezoid() instead which can render directly into a Plane.

	* rapicorn/text-editor.hh, rapicorn/text-editor.cc: moved EditorClient
	to Editor::Client.

	* rapicorn/item.hh: provide == and != operators for item references.

	* examples/tour.xml, examples/tour.cc: added a test drawable and connected
	a drawing callback to it to perform some test drawings.

	* rapicorn/Makefile.am:
	* configure.in:
	* Makefile.am: removed libpixman/libcairo library inlining.

Thu Sep 21 00:18:01 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/item.hh, rapicorn/item.cc: changed root() to get_root()
	because it too easily clashes with variable names. changed handle<>()
	to use a dynamic_cast<*> pointer cast instead of a dynamic_cast<&>
	reference cast, because the latter tends to confuse gcc-4.1. this also
	allowes us to provide a better error message if casts fail, via an
	error method that demangles the destination C++ type and using typeid.

	* rapicorn/table.hh:
	* rapicorn/layoutcontainers.hh: fixed Container type interfaces to 
	actually derive from Container.

	* rapicorn/region.*: properly unintialize regions in destructor.

	* rapicorn/rapicorn.xml: removed useless empty frame
	from UnfocusedButton.

	* rapicorn/handle.hh: removed useless cast function.

	* rapicorn/factory.cc: slight string fix.

	* rapicorn/viewport.cc:
	* rapicorn/container.cc: added virtual destructor for class with 
	virtual methods.

	* rapicorn/evaluator.cc: sigh, added destructor to unconfuse gcc-3.4.

	* rapicorn/utilities.hh: draw in <typeinfo>.

Wed Sep 20 00:45:45 2006  Tim Janik  <timj@gtk.org>

	* examples/tour.xml: scrolling test fixup.

Wed Sep 20 00:35:44 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/text-pango.cc: misc fixes.
	implemented TextPangoParser and MarkupDumper which parses and save a
	set of various text attributes of the displayed text string.
	implemented lazy color attributes for pango to defer resolving of the
	actual color values until we have a Style assigned.
	implement the Text::EditorClient interface (at least rudimentarily).
	changed TextPangoImpl to always keep its own layout and to use
	a PangoLayout as its main model (for text and attributes).
	implemented a RapicornPangoRenderer based on pangoft2 to support
	colored text, this involved copying of pangoft2-render.c trapezoid
	rendering code (LGPL).

	* rapicorn/text-editor.hh, rapicorn/text-editor.cc: introduce the
	neccessary API and structures to implement text editing.

	* rapicorn/appearance.hh, rapicorn/appearance.cc: added 
	Style::resolve_color() to map a color string to a Color.

	* rapicorn/factory.hh, rapicorn/factory.cc: turned many exceptions into
	errors, because recovery from those case was broken anyway.
	implemented "prop:"-element handling, which allows an arbitrary XML
	subtree to be used as property value. for this, the parsed XML is 
	recaptured into a string with Birnet::MarkupParser.

	* rapicorn/birnetmarkup.hh, rapicorn/birnetmarkup.cc: 
	fixed printf_escaped(). added input_name() accessor. added
	recap_element() and recap_string() to recapture an element subtree
	of the processed XML into a new XML string.

	* rapicorn/birnetutils.hh: tell gcc that error() never returns.

	* rapicorn/container.cc: removal of invisible items doesn't need
	to invalidate. keep reference to self around unparent_child().

	* rapicorn/item.cc: keep containers referenced across set_parent().

	* rapicorn/paintcontainers.cc: removed resolve_color().

	* examples/tour.xml: added more test gadgets.

	* tests/markup.cc: fixes and extensions.

Mon Sep 18 02:09:32 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/item.hh, rapicorn/item.cc: optimizd flag propagation
	to reduce exposes. fixed ::affine_from_root().
	reworked ::expose() methods to queue rectangles and regions.
	introduced ::affine_to_cousin() and ::affine_from_cousin(),
	these aren't working correctly yet though.

	* rapicorn/paintcontainers.cc: fixed frame child allocation in
	case of !m_overlap_child.

	* rapicorn/container.cc: fixed ::expose_enclosure() to not expose 
	children. made ::set_focus_child() virtual.

	* rapicorn/root.hh, rapicorn/root.cc: fixed get_focus() so containers 
	can access this from within set_focus_child(). allow enqueueing of
	expose regions.

	* rapicorn/region.hh, rapicorn/region.cc: added ::affine() to transform
	a whole region.

	* rapicorn/primitives.cc: 64bit coordinate fixes.

	* rapicorn/scrollitems.cc: minor fixes. prototyped scroll position 
	adjustment for focus child.

	* examples/scroller.cc, examples/scroller.xml: made fewer and bigger 
	test buttons which is a lot faster

Sun Sep 17 20:10:05 2006  Tim Janik  <timj@gtk.org>

        * rapicorn/container.hh, rapicorn/container.cc: cleanups.
        for horizontal/vertical focus movement, ignore the current
        focus child and simply filter out focus children which are not
        positioned ahead according to focus direction. this simplifies
        sorting logic and fixes remaining movement bugs. never reset
        the current focus child, Root takes care of that now.
        added ::expose_enclosure() to expose a containers area without
        exposing its children, this still needs optimization.

        * rapicorn/item.hh, rapicorn/item.cc: don't force invalidation
        when items enter or leave the focus chain. removed reset_history
        argument from move_focus(), adapted callers. removed unused flags
        INVALIDATE_ON_CHANGE and EXPOSE_ON_CHANGE.

        * rapicorn/root.cc: always unset focus child of all containers of
        the current focus chain when unsetting focus. moved focus handling to
        an extra function and fixed remaining focus movement oddities.

        * rapicorn/buttons.cc: grab focus when a button is clicked.

        * rapicorn/paintcontainers.hh, rapicorn/paintcontainers.cc:
        added Frame::overlap_child() property to control whether extra space
        is requested to draw the frame around the child. implement automatic
        exposure of frames upon ::changed. also, expose FocusFrame if its
        Client changed.

        * rapicorn/rapicorn.xml: changed Button to always be focus-able, added
        UnfocusedButton which can't accept focus. exchanged slider buttons for
        UnfocusedButton.

Sat Sep 16 21:44:47 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/rootimpl.hh, rapicorn/root.cc: removed expose rectangle 
	queue. implemented expose region handling via class Region.
	moved rendering to draw_now(). added logic to dispatch_event() to
	coalesce multiple motion events. immediately handle pending redraws
	after all events have been processed.

	* rapicorn/viewport.hh, rapicorn/viewport-gtk.cc: removed 
	invalidate_plane() and enqueue_mouse_moves() methods. upon processing of
	motion notify events, immediately request a new event for when the 
	pointer moves any further, and enqueue intermediate motion events from
	device history.
	prevent Gtk+ from queueing a shallow draw upon focus changes.

Sat Sep 16 03:01:26 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/region.hh, rapicorn/region.cc: added ::string() method.
	added scaling by 256 for doubles to int64 conversion. that way
	fractional values are still accounted for to some extend (up to two
	decimal digits, by 8 fractional bits) and rectangle dimensions up to
	3.6e16 are supported (55bits).

	* tests/region.cc: added tests for regions with fractional rectangle
	sizes. extended random region generation code to also yield fractional
	regions.

Fri Sep 15 23:55:33 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/item.cc (set_allocation): align allocations to integer
	quantities and constrain dimensions to values <= 2^52 to stay within
	double precision.

	* rapicorn/primitives.hh: removed ftoi(). added dtoi32() and dtoi64()
	with fixed fallback behaviour (round-to-nearest for i386 asm and the
	non-asm case). turned iceil, ifloor and iround into int64 functions.

	* rapicorn/utilities.hh: extended min/max definitions for mixed integer
	and floating point arguments to int64 and double.

	* tests/primitives.cc (math_test): test dtoi*, iround, iceil, ifloor.

Thu Sep 14 19:40:22 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/primitives.hh, rapicorn/primitives.cc: changed class Rect
	to provide publically accessible x,y,width,height fields. moved
	method implementations out of the class definition. adapted callers.

Thu Sep 14 00:32:44 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/factory.hh, rapicorn/factory.cc: improved error mesages, fixed
	lookup order, so parsing new files can override existing definitions.
	added Factory::ItemTypeFactory::sanity_check_identifier() to verify proper
	item types for factory registration.

	* tests/testitems.xml, tests/items.cc:
	* rapicorn/rapicorn.xml, examples/tour.xml, examples/scroller.xml:
	changed syntax of newly defined identifiers to MixedCase. refer to stock
	item implementations via the Rapicorn::Factory::-namespace. fixed up
	resulting incompatibilities.

	* examples/tour.cc: use Factory::must_parse_file() to parse item definitions.

	* rapicorn/*.cc: declare new item types in the Rapicorn::Factory::-namespace.

Wed Sep 13 02:13:35 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/root.cc: move focus according to key directions, forget focus
	history when crossing beyond first/last focusable item. added beep().

	* rapicorn/container.cc: implemented next/prev and right/up/left/down
	focus direction handling. reset last focus child if no new focus was
	found, in case reset_history was requested. 

	* rapicorn/item.hh, rapicorn/item.hh: added reset_history arg to 
	move_focus(), fixed callers. added notify_key_error().

	* rapicorn/primitives.hh, rapicorn/primitives.cc: provide Rect<->Point
	distance and contains methods.

	* rapicorn/viewport.hh, rapicorn/viewport-gtk.cc: added beep().

	* examples/tour.xml: minor test extensions.

Tue Sep 12 02:25:49 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/buttons.cc: provide missing move_focus() implementation.

Tue Sep 12 01:48:51 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/container.hh, rapicorn/container.cc: implemented item cross 
	link handling. uncross links between descendants upon unparentation.
	implemented keeping of focus child history. implemented recursive
	hirarchical focus movement. the current implementation just provides
	"next" movement according to the containers child order, but it gets
	the basics right.

	* rapicorn/item.hh, rapicorn/item.cc: introduced a FOCUS_CHAIN flag
	which is set on the current focus item and all its toplevels.
	added move_focus() method. added viewable() test method to figure
	whether an item is visible with its parents.
	added common_ancestor() method and cross_link(), cross_unlink()
	and uncross_links(). added toplevel_interface(), similar to
	parent_interface(). allow containers to hook into unparenting.
	introduced virtual can_focus() method for item type implementations
	to decide on focus-ability.

	* rapicorn/root.hh, rapicorn/rootimpl.hh, rapicorn/root.cc: added focus
	item handling, move focus in response to key presses. added invalidation
	handling by triggering an async resize handler. 

	* rapicorn/viewport.hh, rapicorn/viewport-gtk.cc: added a flag to 
	set_config() to force delivery of WIN_SIZE and WIN_DRAW events.
	allow the rapicorn viewport widget to get focus and try to grab the
	default gtk focus.

	* rapicorn/paintcontainers.hh, rapicorn/paintcontainers.cc:
	added FocusFrame::Client struct for containers to derive from,
	to take notion of a child focus frame.

	* rapicorn/buttons.cc: added support for focus frames to buttons, so
	that a button containing a focus frame as descendant accepts focus.

	* rapicorn/rapicorn.xml: minor button definition fixups.

Tue Sep  5 01:59:55 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/enumdefs.hh: added FocusDirType.

	* rapicorn/paintcontainers.hh, rapicorn/paintcontainers.cc:
	added FocusFrame with implementation, to change frames depending
	on focus state.

	* rapicorn/utilities.hh: misc cleanups.

Tue Sep  5 00:11:40 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/text-pango.cc: removed useless Affines. added cursor 
	rendering prototype code.

	* rapicorn/rapicorn.xml: define label in terms of Rapicorn::TextPango.

	* rapicorn/pangolabel.hh, rapicorn/pangolabel.cc, rapicorn/Makefile.am:
	removed PangoLabel.

	* examples/tour.xml: removed useless frames. added insensitive label.

Tue Sep  5 00:07:29 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/text-pango.hh, rapicorn/text-pango.cc: label -> text rename.

Tue Sep  5 00:03:38 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/text-pango.hh, rapicorn/text-pango.cc: CVS copied from 
	pangolabel.hh and pangolabel.cc.

Mon Sep  4 19:54:55 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/adjustment.hh, rapicorn/adjustment.cc: fixed default adjustment
	values to [0..100] with proper stepping and page==0. fixed clamp logic to
	preserve stepping in the presence of page==0.

	* rapicorn/slider.cc: avoid duplicating adjustment setup defaults.

Wed Aug 30 19:27:10 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/scrollitems.cc: implement ScrollPortImpl::child_affine() to
	account for the scrolling area offset, and the rendering offset.

	* rapicorn/item.*, rapicorn/container.*, rapicorn/root.*:
	fixed up item/child coordinate handling by introducing ::child_affine()
	which provides a parent<->child translation matrix. this affects event
	processing, expose handling and item intersection tests via ::point().

	* rapicorn/events.hh, rapicorn/events.cc: provide 
	create_event_transformed() which copies an existing event and adjusts
	coordinates and dimensions according to an affine matrix.

	* rapicorn/primitives.hh, rapicorn/primitives.cc: provide h/v expansion
	for affines as well as == and !=.

	* tests/primitives.cc: fixed HSV test cosmetics. started testing Affine.

	* examples/scroller.xml: added upper-left lightning ambience to
	scrollable area.

Wed Aug 30 02:04:48 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/region.hh, rapicorn/region.cc: const fixes.
	allow implicit constructor conversions. s/is_empty/empty/.
	added cmp(). renamed containment tests. added contains() also
	for regions. renamed add/subtract/interset/exor.
	added operators for ==, !=, <.

	* rapicorn/regionimpl.h, rapicorn/regionimpl.c: fixed debugging prints.
	removed miRegionReset() and resurrected miRegionNotEmpty() and
	miRegionEmpty() because the former does odd NULL fiddling which
	the latter seem to get right. fixed up empty modified regions to
	always contain a 0-size extents rectangle at 0,0.
	fixed up invalid pointer accesses that the compiler didn't catch.
	fixed up euqlity handling of empty regions. implemented
	_rapicorn_region_cmp() and _rapicorn_region_region_in().
	relaxed coordinate order constraints on rect_in, fixed empty
	rect handling. 

	* rapicorn/primitives.hh: s/is_empty/empty/, changed callers.
	const fixes. added == and != to Rect. 

	* rapicorn/item.hh: const fixes.

	* tests/region.cc: added test code for regions.

Tue Aug 29 01:42:57 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/region.hh, rapicorn/region.cc: added class Region which
	represents a list of non-overlapping rectangles. it supports union,
	subtract, intersect, xor, point_in and rect_in operations. the
	rectangles are stored at 64bit integer precision, not at double
	precision which the API might suggest in places.

	* rapicorn/regionimpl.c: edited to support 64bit integer coordinates,
	edited to avoid symbol exports and to enable compilation of a
	standalone version of this file. added rapicorn C API wrapper
	functions.

	* rapicorn/regionimpl.h: provide rapicorn C API wrapper prototypes
	for rapicorn/regionimpl.c.

Mon Aug 28 23:14:46 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/miregion.c: added contents of mi/miregion.c from the
	xorg-server-X11R7.1-1.1.0.tar.bz2 tarball, license "AS IS", as long as
	the copyright disclaimer is retained.

Sun Aug 27 23:05:10 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/factory.cc: canonify custom argument names.
	expand property and pack-property values before applying them.
	this allowes general $... value expressions in gadget XML files.

	* examples/scroller.xml: 
	* examples/scroller.cc: supply buttons labels with a text containing the
	row/col pair.

Sun Aug 27 18:01:08 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/factory.hh, rapicorn/factory.cc: added input_name,
	line_number and location() to gadget structure to enable proper
	error messages. removed internal Environment and replaced its
	uses by Evaluator. more canonicalization fixups.
	changed argument/property handling so that they either address item
	properties, pack properties or custom arguments (via "<arg:.../>").
	lists of unused argumnets/properties are now explicitely maintained,
	and proper error() messages are now generated for invalid argument
	names (including file+line number of the corresponding gadget
	definition).

	* rapicorn/evaluator.hh, rapicorn/evaluator.cc: added canonify(), 
	extended populate_map() and added replenish_map().

	* rapicorn/properties.cc: use '_' as delimiter to canonify property names.

	* rapicorn/item.hh, rapicorn/item.cc: added try_set_property() to spare
	an extra lookup to figure whether a property exists before setting it.

	* rapicorn/container.cc: reworked add()/add_child() mechanism so that
	pack properties are now applied automatically, and so that a list of
	unused (invalid) pack properties can be returned from add().
	optimized Packer::apply_properties() to require only a single commit
	for multiple properties.

	* rapicorn/tableimpl.hh, rapicorn/table.cc:
	* rapicorn/layoutcontainers.cc:
	* rapicorn/arrangement.cc: removed/cleaned up add_child() implementations.

	* rapicorn/birnetmarkup.hh, rapicorn/birnetmarkup.cc: introduced
	line_number_after_newline flag to adjust line numbers used for errors
	and get_position() if it refers to a statements right before a recently
	parsed '\n'. added input_name field for more descriptive messages.

	* examples/tour.xml: removed bogus pack properties.

	* examples/scroller.cc: fixed up add_button_row() to set only known properties.

	* tests/markup.cc: adapt to MarkupParser().

Sat Aug 26 00:25:56 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/root.cc: discard WIN_SIZE and WIN_DRAW events if more 
	WIN_SIZE events are pending. this makes resizes much snappier.

	* rapicorn/events.hh, rapicorn/events.cc: changed string_from_event_type()
	to return const char* instead of a temporary string which seems to make
	problems with varargs calls.

Fri Aug 25 23:52:31 2006  Tim Janik  <timj@gtk.org>

	* examples/scroller.cc: removed layout caching, since PangoLayout 
	caching only has negligible performance effects. PangoContext is
	still in place though, and is very important memory wise.

Fri Aug 25 19:05:07 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/pangolabel.cc: rewrote to plug layout/context leaks and to
	cache initialized structures to a certain extend. code cleanups.

	* rapicorn/viewport.hh, rapicorn/viewport-gtk.cc: alloc gtk locking from
	other code portions.

	* examples/scroller.xml: test text fixup.

Fri Aug 25 02:38:48 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/layoutcontainers.cc: fixed up excessive column/row creation in
	hbox and vbox.

	* rapicorn/table.cc: minor optimizations to is_row_used() and is_col_used().

	* rapicorn/factory.hh, rapicorn/factory.cc: added create_container().

	* examples/scroller.cc, examples/scroller.xml: new test program to stress 
	scroll area implementation.

Thu Aug 24 21:53:32 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/container.hh, rapicorn/containerimpl.hh, rapicorn/container.cc:
	changed add_child() to not return a bool but report errors via exceptions.
	fixed item leak in case of exception, impro ved exception messages.

	* rapicorn/factory.cc: fixed up attribute canonification which broke
	property settings.

	* rapicorn/tableimpl.cc:
	* rapicorn/table.cc:
	* rapicorn/layoutcontainers.cc:
	* rapicorn/arrangementimpl.hh:
	* rapicorn/arrangement.cc: fixed up add_child().

Wed Aug 23 23:06:07 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/evaluator.hh, rapicorn/evaluator.cc: new support class for
	Rapicorn::Factory to evaluate simple expressions and handle variable maps.
	implemented standard boolean operators, numeric comparators, string
	comparators. println and count. added builtin variables $RAPICORN_VERSION,
	$RANDOM and $RAPICORN_ARCHITECTURE.

	* rapicorn/factory.cc: support argument declarations "arg:*" for gadget
	definitions. fixed element canonifcation to allow '_' in element names.
	use Evaluator canonification for variables/attributes, which mandates
	'_' as word delimiter. error out on invalid elements instead of throwing
	a warning.

	* rapicorn/birnetutils.hh, rapicorn/birnetutils.cc:
	extended string_to_bool(), added errmsg(), extended number of strings
	supported by Exception().

	* rapicorn/container.cc, rapicorn/factory.cc: improved error and
	exception messages.

	* tests/evaltest.cc: test Evaluator funcitonality such as variable
	expansion and function evaluation.

	* configure.in: define RAPICORN_VERSION, RAPICORN_PACKAGE_VERSION.

Tue Aug 22 19:54:35 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/scrollitems.cc: constrain both adjustments before thawing
	them individually. fixed missing member variable prefixes. make sure
	all pending exposes have been processed before calling copy_area().

	* rapicorn/item.cc: unset POSITIVE_ALLOCATION in set_allocation() so
	items are !drawable() while size_allocate() is called.

	* rapicorn/adjustment.hh, rapicorn/adjustment.cc: fixed value comparisons
	upon thaw(), so all possible changes between freeze() and thaw() are now
	accounted for. exported ::constrain() to anticipate the value validation 
	usually executed by thaw(). 

	* examples/tour.xml: extended scrollable text.

Mon Aug 21 01:58:52 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/adjustment.hh, rapicorn/adjustment.cc: fixed nvalue() to 
	respect page() size, same for abs_range(). added abs_length(), to relate
	page size to range.

	* rapicorn/rapicorn.xml: expand/spread sliders so they grow with 
	adjustment page() size changes.

	* rapicorn/slider.hh, rapicorn/slider.cc: changed inner trough layout
	so that v/h-spread children will expand up to the trough borders, and
	h/v-expand children will be expanded according to the page size.

	* rapicorn/scrollitems.hh, rapicorn/scrollitems.cc: make sure to round
	adjustment quantities to nearest integers, since we can't scroll onto
	fractional pixel boundaries. use area copying and differential area
	exposes when scrolling now, which immensely reduces the re-rendered
	areas.
	freeze h/v adjustments before updating both values in scroll_to(), so
	x+y changes are handled "atomically".
	adjust step and page increment upon size_allocate(), to allow fast
	stepping over the scrollable region and fast paging relative to the
	viewport size.
	pre-paint scrollable region in background color, since area copying
	requires a homogeneous background.

	* rapicorn/item.hh, rapicorn/item.cc: added copy_area() which wraps
	clips to the child allocation and wraps Root::copy_area().

	* rapicorn/root.hh, rapicorn/root.cc, rapicorn/rootimpl.hh: added
	copy_area() and draw_now() methods to implement fast scrolling.
	added extra lock to protect the event queueand main loop, to avoid
	deadlocks when being called from viewport methods (in extra thread). 
	call Viewport::enqueue_mouse_moves() to receive new mouse events once
	movement events have been processed. lowered expose event handler
	priority, so input event processing has a higher priority now.

	* rapicorn/viewport-gtk.hh, rapicorn/viewport-gtk.cc: added copy_area()
	for fast on-device copies of viewport areas. added enqueue_win_draws()
	to allow immediate processing of invalidation areas. added
	enqueue_mouse_moves() to request new motion event generation.
	disabled IdleBlitter code, we're always blitting full planes immediately
	now, though this hampers responsiveness on remote displays, it is
	neccessary for area copying (which relies on all prios blits to be
	completed).

	* rapicorn/primitives.hh, rapicorn/primitives.cc: added using directives
	for overloaded functions. added minor speedups to plane filling by using
	memset4() when possible. added Color argument to Display::create_plane()
	and Plane() to spare unneccessary 0-fills.

	* rapicorn/utilities.hh, rapicorn/utilities.cc: added memset4().

Sat Aug 19 23:56:30 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/buttons.hh, rapicorn/buttons.cc: added ButtonArea::click_type
	to adjust press/release and repeat click behaviour. implemented click
	behaviours for ButtonAreaImpl.

	* rapicorn/enumdefs.hh: added ClickType.
	
	* rapicorn/item.hh, rapicorn/item.cc: added API to setup main loop
	handlers for various repeat types.
	
	* rapicorn/loop.hh, rapicorn/loop.cc: extended timeout implementation
	to support an initial timeout different from repetition timeouts.
	renamed idle handler methods to exec_*().
	
	* rapicorn/rapicorn.xml: enable fast repetition for hslider and
	vslider buttons.

Tue Jul 18 02:03:05 2006  Tim Janik  <timj@gtk.org>

	* configure.in: upgraded version to 0.1.2-snapshot,
	interface age 0, binary age 0.
	
Tue Jul 18 01:52:17 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/properties.hh: fixed assertion macros.
	
	* tests/*.cc: fixed test includes and assertion macros.

	* tests/Makefile.am: do not define RAPICORN_PRIVATE for test programs.

Thu Jul 13 21:59:55 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/rapicorn.xml: changed hslider and vslider to make them
	higher and wider respectively.

	* rapicorn/primitives.hh, rapicorn/primitives.cc: 
	added Display::current_rect(). made Display non-copyable.

	* rapicorn/scrollitems.hh, rapicorn/scrollitems.cc, rapicorn/scrollitemsimpl.hh:
	added prototype implementations of ScrollArea, ScrollPort and ScrollAreaImpl.

	* examples/tour.xml: added scroll-area and scroll-port definitions
	for development purposes.

Thu Jul 13 01:17:18 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/adjustment.hh, rapicorn/adjustment.cc: added nvalue()
	API to simplify normalization, added abs_range() and string()
	utility methods.
	introduced AdjustmentSource interface type to generically query
	adjustments from objects of unknown type.

	* rapicorn/container.hh: removed hide_child() and show_child() which 
	were both unused.

	* rapicorn/enumdefs.hh: added AdjustmentSourceType for AdjustmentSource.

	* rapicorn/primitives.hh, rapicorn/primitives.cc: made Plane copy
	constructor and assignment operator private, because this class
	does not support copying semantics. reworked plane creation
	functions to avoid copy constructor dependecy.

	* rapicorn/paintcontainers.cc:
	* rapicorn/pangolabel.cc: fixed plane creation.

	* rapicorn/slider.hh, rapicorn/slider.cc: added adjustment_source
	property to SliderArea, to find an adjustment from its ancestors.
	fixed up value() vs. nvalue() accesses of adjustments.

	* rapicorn/item*.*: minor fixes.

Mon Jul 10 23:55:13 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/viewport-gtk.cc: flush even queue and wake up the gtk
	main loop to process received X events after each viewport action.

	* tests/testitems.cc: added slight workaround to find .xml file even
	if the binary resides in .libs/.

Mon Jul 10 02:18:18 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/testitem.hh, rapicorn/testitem.cc: implemented a test item
	that can be used to assert various layout properties like sizing and
	positioning.

	* rapicorn/rapicorn.xml: define test-item.

	* tests/testitems.cc, tests/testitems.xml: implemented item test 
	program. added checks for alignment padding and Item::width and
	Item::height properties.

Sat Jul  8 20:55:12 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/table.cc, rapicorn/tableimpl.hh: changed shrinking logic so
	we start shrinking columns/rows in the center of a table. also, if not
	enough shrinkable columns could be found, shrink all columns/rows by
	an amount proportional to their size, starting from the center.
	this makes resizes beyond the requisition feel much more natural, since
	we now make the best effort to avoid shrinking artefacts and we do our
	best to provide important controls at window/table edges (like menubars
	or buttons).

Sat Jul  8 18:07:30 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/rapicorn.xml: fixed buttons to espand their children.
	set width-from-height/height-from-width size policies for slider
	arrows to enforce square allocations for arrow buttons.

	* rapicorn/paintgadgets.hh, rapicorn/paintgadgets.cc:
	added size_policy() property to arrows to allow width-from-height and
	vice versa sizing policies.

	* rapicorn/item.hh, rapicorn/itemimpl.hh, rapicorn/item.cc:
	tune_requisition(): allow requisition tuning during size allocation. 
	returns whether the tuning had any effect (can be ignored).
	test_flags(): test any of the flags passed in.
	test_all_flags(): return true if all flags passed in were tested.
	test_any_flag(): removed.

	* rapicorn/root.hh, rapicorn/rootimpl.hh, rapicorn/root.cc:
	changed resizing logic to allow requisition tuning during allocation,
	at least for the first 3 size allocations (basically, this allowes
	flexible resizing algorithms which to converge from an initially unstable
	to a stable state later on, similar to simulated annealing).
	added logic to dispatch WIN_DELETE events.

	* rapicorn/enumdefs.hh: added SizePolicyType. 

	* rapicorn/events.cc: added WIN_DELETE event.

	* rapicorn/viewport.hh, rapicorn/viewport-gtk.cc:
	fixed some bit masking bugs. provide viewport size with Viewport::State.
	enqueue WIN_DELETE events.

Fri Jul  7 23:35:08 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/utilities.hh, rapicorn/utilities.cc: provide accessor for a
	global recursive mutex for rapicorn. 

	* rapicorn/rapicorn.xml: moved standard gadget definitions from tour.xml
	here. fixed up alignment definitions to not override AlignmentImpl defaults.
	fixed up hslider definition to match vslider more closely.

	* rapicorn/layoutcontainers.cc: changed AlignmentImpl defaults to 
	hscale=0 and vscale=0 upon creation.
	
	* rapicorn/factory.hh: 
	* rapicorn/factory.cc: added Factory::must_parse_file() to easily read
	in gadget definitions at program startup. added lazy initialization
	for gadget definitions from rapicorn.xml.

	* rapicorn/Makefile.am: run xmllint on rapicorn.xml and generate a
	compressed zintern block from it.

	* tests/Makefile.am:
	* tests/items.cc: new test to check item creation.

	* rapicorn.pc.in: currently, linking against rapicorn requires gtk.

	* examples/tour.xml: removed standard gadget definitions.

	* examples/tour.cc: use Path::dirname().

Thu Jul  6 01:08:54 2006  Tim Janik  <timj@gtk.org>

	* rapicorn.pc.in:
	* configure.in:
	* Makefile.am: generate and install rapicorn.pc.

	* rapicorn/image.hh:
	* rapicorn/events.hh: 
	* rapicorn/paintcontainers.hh: macro fixups.

Mon Jun 19 03:28:14 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/root.cc: removed RootImpl class declaration. provide external method
	implementations of class RootImpl.

	* rapicorn/rootimpl.hh: declare class RootImpl.

	* rapicorn/root.hh: minor cancel_item_events() fixup.

Sun Jun 18 23:34:24 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/viewport-gtk.cc:
	rapicorn_viewport_realize(): use BACKING_STORE_ALWAYS if at all.
	rapicorn_viewport_ancestor_event(): 
	rapicorn_viewport_event(): don't send cancel events after swallowing GDK_DELETE.

Sun Jun 18 21:51:15 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/viewport-gtk.cc: refined backing store logic to take display
	settings into account. refined cancellation of incremental blit requests.
	simplified and slightly fixed rapicorn_viewport_event_context().
	introduced rapicorn_viewport_change_visibility() for all visibility changes.
	listen to toplevel visibility-notify events. honoured more 
	GDK_VISIBILITY_FULLY_OBSCURED, e.g. on toplevel unmap.
	ignore GDK_DELETE events.
	introduced rapicorn_init_with_foreign_gtk().

	* rapicorn/utilities.cc: make sure to initialize birnet with rapicorn.

	* examples/tour.cc: test rapicorn_init_with_foreign_gtk().

Sun Jun 18 03:19:59 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/root.hh, rapicorn/root.cc: implemented Root with viewport, 
	main loop and loop source. added WIN_DRAW and WIN_SIZE handling, added
	expose queue. implemented run_async().

	* rapicorn/events.hh, rapicorn/events.cc: added WIN_DRAW event.
	introduced draw_stamp for WIN_SIZE and WIN_DRAW.

	* rapicorn/pangolabel.cc: use std::string::size_type instead of uint to 
	store std::string::npos. this fixes 64bit issues, where npos is 2^64-1
	and as a result doesn't fit a 32bit uint. pointed out by Stefan Westerfeld.

	* rapicorn/loop.hh: replaced IdleSource and TimedSource templates by
	a regular class TimedSource. replaced templates to add idle handlers by
	regular functions that take Signals::Slot0<> arguments.

	* rapicorn/loop.cc: implemented MainLoop::TimedSource. 
	added GLibMainLoop::wakeup().

	* rapicorn/utilities.hh, rapicorn/utilities.cc: extended rapicorn_init().

	* rapicorn/viewport-gtk.cc: implemented Viewport interface and glue 
	GtkWidget, based on gtkrootwidget.cc. all redrawing and event handling are
	completely asyncronous (transfered between two threads). remote windows
	are updated incrementally and have backing store enabled.

	* rapicorn/viewport.hh, rapicorn/viewport.cc: added interface definition
	to display a Root item on physical screend.

	* examples/tour.cc: removed all gtk specific glue.

	* rapicorn/gtkrootwidget.hh, rapicorn/gtkrootwidget.cc: removed. replaced 
	by viewport-gtk.cc.

Mon Jun 12 01:43:39 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/item.hh, rapicorn/item.cc: provide handle() and owned_mutex().

	* rapicorn/loop.cc: fixed Thread ref counting.

	* rapicorn/factory.hh, rapicorn/factory.cc: provide create_root().

	* rapicorn/root.hh, rapicorn/root.cc: override owned_mutex() to return 
	the Root mutex. removed Handle<Root>handle(), because there is 
	Item::handle<>() now.

	* rapicorn/handle.hh: specialize Handle<> for non-pointer types.
	added type_cast<>() to execute partially specialized dynamic_cast<>()s.

	* rapicorn/enumdefs.hh: added window types from wm-spec-1.4.html draft
	as of 2006-06-11.

	* rapicorn/birnetutils.hh, rapicorn/birnetutils.cc: removed 
	DataListContainer definition which is in Birnet now.

	* tests/Makefile.am:
	* tests/datalist.cc: removed, data lists are implemented and tested in
	Birnet now.

Sun Jun 11 14:47:24 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/enumdefs.hh: added WindowType enumeration according to
	http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html.

Fri Jun  9 03:27:13 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/factory.hh, rapicorn/factory.cc: refactored code. Factory::
	is an extra namespace now. renamed parsing functions. renamed item
	creation and made it return an item handle.

	* rapicorn/handle.hh: implementation fixups.

	* rapicorn/root.cc:
	* rapicorn/loop.cc: avoid std::list::size() which is O(N).

	* examples/tour.cc (construct_gui): use the new factory and handle API.

Thu Jun  8 03:23:31 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/handle.hh: implemented Handle template to store item 
	references across threads.

	* rapicorn/loop.cc: use static Mutex.

	* rapicorn/root.cc: added handle() method to create Handles for Root
	objects. 

Wed Jun  7 02:35:47 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/root.hh, rapicorn/root.cc:
	rewrote event management code, many type fixups, const corrections
	and memory management fixups. disabled double/triple button press
	delivery. offer a centralized dispatch_event() method. staerted
	implementaiton of Root as an asyncronous thread loop source with
	asyncronous event queue.

	* rapicorn/events.hh, rapicorn/events.cc: added WIN_SIZE event.
	properly derived some event types. made event construction private
	so create_event_*() API _must_ be used to create events.
	added convenience methods to EventContext.

	* rapicorn/gtkrootwidget.cc: 
	* rapicorn/item.cc, rapicorn/item.hh:
	* rapicorn/buttons.cc:
	* rapicorn/slider.cc: fixed Event type, memory and const management.

	* rapicorn/loop.hh: export get_current_time_usecs() until utils supplies this.

	* rapicorn/arrangement.cc: buglet fixup.

	* rapicorn/birnetutils.hh: removed binary lookup which is provided by Birnet now.

Sun Jun  4 21:46:31 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/container.hh:
	* rapicorn/container.cc: removed Root declaration and implementation.

	* rapicorn/root.hh:
	* rapicorn/root.cc: removed Container declaration and implementation.

Sun Jun  4 21:44:08 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/root.hh: CVS copied from container.hh.
	* rapicorn/root.cc: CVS copied from container.cc.

Sun Jun  4 21:05:19 2006  Tim Janik  <timj@gtk.org>

	* examples/tour.cc: added main loop test timers.

	* rapicorn/events.hh: 
	* rapicorn/events.cc: added CANCEL_EVENTS event type.

	* rapicorn/loop.hh:
	* rapicorn/loop.cc: implemented MainLoop and an asyncronous 
	threaded MainLoopPool.

Thu Jun  1 19:12:57 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/slider.cc: make use parent_interface<>(), get rid of
	ancestor pointers. added vertical_skid() property to SliderSkidImpl
	for vertical movement. 

	* rapicorn/adjustment.cc: fixed freeze_count initialization.

	* examples/tour.xml: fix up button padding.
	renamed hslider, added vslider. 

	* rapicorn/birnetutils.cc: const fixups.

	* rapicorn/item.[hc]*: added width/height override requisition properties.
	implemented parent_interface<>() analogous to interface<>().

	* rapicorn/layoutcontainers.cc: removed width/height from Alignment, 
	which got moved to Item.

	* rapicorn/paintgadgets.cc: shrunk arrow requisition.

Thu Jun  1 02:12:10 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/slider.cc (move): fixed flipped slider movement.

Wed May 31 23:18:16 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/properties.[hc]*: extended constructor to support chaining of
	multiple property lists. added deduping logic for appending.

	* rapicorn/slider.cc, rapicorn/slider.hh: added flipped() property to
	SliderArea. fixed increment/decrement logic, honour flipped() setting.

	* rapicorn/private.hh:
	* rapicorn/birnetutils.hh, rapicorn/birnetutils.cc:
	removed dirname, basename, *LIKELY, ABS, MIN, MAX, CLAMP, etc. which are
	provided by birnet now.

Fri Apr 21 01:35:30 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/userconfig.hh: new file, used to manually enable/disable 
	things like building with Gtk+ backend, Pango label, and for defining
	the i18n domain and other features.

	* rapicorn/utilities.hh:
	* rapicorn/utilities.cc: initialize rapicorn i18n domain from
	RAPICORN_I18N_DOMAIN.

	* rapicorn/gtkrootwidget.hh:
	* rapicorn/gtkrootwidget.cc: CVS copied from examples/.
	conditionalize according to RAPICORN_WITH_GTK.

	* rapicorn/pangolabel.hh:
	* rapicorn/pangolabel.cc: conditionalize according to RAPICORN_WITH_PANGO.

	* rapicorn/Makefile.am: reformatted, added gtkrootwidget.*.

	* examples/tour.cc: fixed initialization and include.

	* examples/gtkrootwidget.cc:
	* examples/gtkrootwidget.hh:
	* examples/Makefile.am: removed gtkrootwidget.cc and gtkrootwidget.hh.

Wed Apr 19 02:50:51 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/paintcontainers.cc: added logic to resolve colors by name.

	* rapicorn/primitives.hh:
	* rapicorn/primitives.cc: implemented Color::from_name() using various
	internet sources for color names.

	* acbirnet.m4: updated from beast, this adds compiler options for gcc-4.2.0.

	* rapicorn/birnetutils.hh: removed macros which got moved to birnet/.

Tue Apr 18 02:31:52 2006  Tim Janik  <timj@gtk.org>

	* integrated with birnet/ subdir. 

	* Makefile.decl: predefine variables for automake-1.9.

	* tests/Makefile.am:
	* examples/Makefile.am: cleanups.

	* rapicorn/birnetutils.hh:
	* tests/signal.cc:
	* rapicorn/mksignals.sh:
	* rapicorn/birnetsignal.hh:
	* rapicorn/birnetsignalslot.hh:
	* rapicorn/birnetsignaltemplate.hh:
	* rapicorn/Makefile.am: removed stuff that moved into birnet/.

	* rapicorn/ldscript.map: export birnet_* symbols.

Thu Mar 16 02:07:58 2006  Tim Janik  <timj@gtk.org>

	* cairo-inlined/Makefile.am: build against inlined cairo-1.0.4 now.

Tue Mar 14 00:13:58 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/slider.cc: flipped value for the horizontal direction
	(so by default it grows to the left). added scroll event handling
	to the trough.

	* examples/gtkrootwidget.cc: added debugging spew for scroll events.

	* rapicorn/appearance.cc: disabled blue GUI test code ;)

Mon Mar 13 02:06:00 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/container.[hc]*: enter/move/leave and grab event fixups.

	* rapicorn/appearance.[hc]*: implemented ColorSchemes. a color scheme
	provides a set of standard colors and can transform colors according
	to states. ported Style over to use color schemes. only one default
	color scheme is currently provided. this needs to be extended.

	* examples/gtkrootwidget.cc: properly save last x/y/state.
	added even dispatcher debugging spew. dispatch enter and leave
	events, except for GDK_NOTIFY_INFERIOR crossing events.

	* rapicorn/enumdefs.hh: removed colorname color types.

	* rapicorn/item.hh: use hardcoded values for black and white instead
	of colorname color types. virtualisation occours through the color
	scheme anyway.

Sun Mar 12 18:01:30 2006  Tim Janik  <timj@gtk.org>

	* examples/tour.xml: added Rapicorn-slider-skid, fixed up slider
	layout.

	* rapicorn/slider.cc: added SliderSkidImpl. moved the grab and button 
	handling from Trough to Skid. forward button events from Trough to Skid
	to allow the Skid to warp in place for clicks into the Trough.
	confined the mouse-click offset in skid to not slip the skid off the
	trough boundaries.

Sun Mar 12 14:45:47 2006  Tim Janik  <timj@gtk.org>

	* integrated birnet/ into the build process.

	* configure.in: comment fixups.

	* examples/tour.xml: some slider work to get prelighting going.

	* rapicorn/birnetutils.[hc]*: export DataList::clear_like_destructor().

	* rapicorn/slider.cc: test prelighint for trough.

Sun Jan 15 23:56:30 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/paintgadgets.[hc]*: added arrow and dot-grid interfaces
	and implementations.

	* rapicorn/enumdefs.hh: added direction and anchor type.
	got rid of seleciton specific color types.

	* rapicorn/item.hh: consolidated color API.

	* rapicorn/paintcontainers.cc: color and test code fixups.

	* rapicorn/cairocontext.[hc]*: C++ API wrapper for cairo.

	* rapicorn/appearance.[hc]*: extended color API of styles.

	* examples/tour.xml: added "arrow" definition, added "dot-grid"
	definition, use both for sliders.

	* examples/gtkrootwidget.cc: added some test code, adapt to 
	new style API.

	* rapicorn/primitives.cc: premit zero-size planes which may be
	triggered in some expose/clipping szenarios.

	* rapicorn/primitives.hh: adapt to new anchor enumeration.

	* rapicorn/painter.cc: added guards to Painter::draw_shadow().

	* rapicorn/painter.hh: allow Painter derived classes to access planes.

	* rapicorn/pangolabel.cc: implemented a font-config handler
	default_substitute_func() to configure hinting and anti-aliasing.

Wed Jan 11 01:08:52 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/item.cc, rapicorn/item.hh: added nothrow argument to 
	exec_command(), to determine whether warnings should be issued
	or exceptions should bne thrown for unimplemented or invalid 
	commands.

	* rapicorn/buttons.cc: just issue a warning for non-existing commands.

	* cairo-inlined/config.h:
	* cairo-inlined/Makefile.am: build libpixman.la and libcairo.la from
	the contents of a cairo-1.0.2 tarball.

	* rapicorn/ldscript.map: export only symbols from Rapicorn::, Birnet::
	and typeinfo symbols.

	* rapicorn/Makefile.am: include cairo-inlined. use ldscript.map during
	linking to decide which symbols should be exported. link against
	cairo-inlined/libpixman.la and cairo-inlined/libcairo.la.

	* configure.in: added some cairo configure checks.
	create cairo-inlined/Makefile and cairo-inlined/cairo-features.h.

Tue Jan 10 20:09:44 2006  Tim Janik  <timj@gtk.org>

	* rapicorn/item.cc (exec_command): fix for gcc-3.3, don't jump across
	pointer variable initialization.

Thu Dec 29 03:04:35 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/item.[hc]*: renamed Controller class to EventHandler which
	is more accurate. made reset() method pure virtual to enforce 
	implementation in all classes implementing event handling.

	* rapicorn/buttons.[hc]*: derive only implementation classes from 
	EventHandler, implement reset().

	* rapicorn/slider.cc: implement reset().

	* rapicorn/container.[hc]*: provide a dummy list_commands() method
	for derived container classes.

Thu Dec 29 02:18:23 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/buttons.[hc]*: added on-click, on-click2 and on-click3 
	command properties to specify button actions. removed cruft.
	derive ButtonArea from Container.

	* rapicorn/slider.[hc]: provide slider movement commands. tweak
	default adjustment to support step and page increments.
	derive SliderArea from Container.

	* rapicorn/commands.[hc]: implemented command templates similar to
	the property mechanism.

	* rapicorn/item.[hc]*: added methods to lookup, list and execute
	commands on an item (or its ancestry).

	* rapicorn/birnetutils.[hc]*: added string_strip().

	* examples/tour.xml: add commands to slider buttons so they have actual
	effects on the slider position.

	* rapicorn/private.hh: define convenience macros to create commands.

	* rapicorn/container.[hc]*: removed ControlArea cruft.

Wed Dec 28 01:07:43 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/adjustment.[hc]: implemented adjustment.

	* rapicorn/slider.[hc]: implement SliderArea and SliderTroughImpl
	classes to enable slider/scale/scrollbar implementations.
	SliderArea uses Adjustment to store the slider position.

	* rapicorn/birnetsignaltemplate.hh: added disconnect() and
	corrsponding -= operators.

	* rapicorn/birnetsignal.hh: added operator== to signal handler
	links, to allow disconnections. implemented disconnect_equal_link()
	for signal links.

	* rapicorn/mksignals.sh:
	* rapicorn/birnetsignalslot.hh: renamed handler to trampoline.
	added slot() constructor for signals + emit() method. with this,
	slot(sig_some_signal) can be connected and disconnected.

	* rapicorn/buttons.[hc]*: merged ButtonController and ButtonView 
	into ButtonArea which can process events and implementes prelighting.

	* rapicorn/container.[hc]: always anchor Root. remove Root children
	early on during destructions when the object type is still >= Root.
	started framework for special control processing.
	added "unconfined" flag to add_grab() to allow processing of events
	outside of the grab widget.

	* rapicorn/item.[hc]*: removed the whole concept of having 
	non-event-aware views and non-drawing event controllers on some items.
	items may now implement the Controller interface, that enables them
	to process events. added hierarchy_changed signal, together with
	ANCHORED flag. this mimicks hierarchy_changed/anchored of Gtk+.
	some const fixes.
	
	* examples/tour.xml: define "slider".

	* tests/signal.cc: signal handler data must implement operator== now.

Sat Aug  6 14:23:31 2005  Tim Janik  <timj@gtk.org>

	* configure.in: require libpng12.

	* rapicorn/image.hh, rapicorn/image.cc: implemented ARGB PNG loader,
	based on libpng12. default initialize scratch images with transparent
	background and a red frame to spot partially loaded images.

	* rapicorn/birnetutils.hh, rapicorn/birnetutils.cc:
	added charset encoding conversion functions.
	unaliased_encoding(): resolve alias names for encoding names to MIME
	charset names.
	unaliased_iconv_open(): retry iconv_open() with resolved
	encoding aliases.
	text_convert(): convert input string in a specific encoding to output
	string in a specific encoding, falling back to a second input encoding
	if neccessary, and allowing to mark non-convertable characters.

	* examples/tour.xml: added test images.

	* examples/testpic.png: test PNG image.
	* examples/testpic-IHDR.png: PNG image with broken IHDR chunk.
	* examples/testpic-IDAT.png: PNG image with broken IDAT chunk.
	* examples/testpic-DATA.png: PNG image with broken image data.
	* examples/testpic.jpg: test JPG image (for not PNG test).

Sun Jul 31 14:25:36 2005  Tim Janik  <timj@gtk.org>

	* released 0.1.1, binary 0, interface 0.

Sun Jul 31 05:06:54 2005  Tim Janik  <timj@gtk.org>

	* examples/gtkrootwidget.cc (root_widget_realize): adjust the toplevel
	GdkWindow's background color, so background redrawing is blatantly 
	obvious upon resizes.

Sat Jul 23 17:04:06 2005  Tim Janik  <timj@gtk.org>

	* examples/tour.cc: added testimages to exploit ARGB/RGB and RLE/Raw
	pixel stream deserialization code. 

	* examples/tour.xml: display testimages. 

	* rapicorn/image.hh, rapicorn/image.cc: implemented builtin pixstream 
	registry. marked non-MT safe portions with "FIXME". 
	implemented actual image rendering in render(), fixed deserialization
	and cleaned up API.

Fri Jul 22 01:10:41 2005  Tim Janik  <timj@gtk.org>

	* examples/tour.xml: define "image" item, added broken image for
	test purposes.

	* rapicorn/birnetutils.hh: allow refcounting of const objects.

	* rapicorn/image.hh, rapicorn/image.cc: started basic image 
	implementation. so far, the API is in place, as well as a deserializer
	for gdk-pixbuf pixstreams. added 16x16 pixel big "broken image" pixstream.

Tue Jul 19 17:04:42 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/birnetutils.hh, rapicorn/private.hh: define DIR_SEPARATOR,
	DIR_SEPARATOR_S, SEARCHPATH_SEPARATOR and SEARCHPATH_SEPARATOR_S.

	* rapicorn/birnetutils.hh, rapicorn/birnetutils.cc: introduce basename 
	and dirname.

	* examples/tour.cc (construct_gui): try to find tour.xml based on the
	programs pathname.

Wed Jul  6 20:06:05 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/birnetsignal.hh: added struct CollectorUntil0 signal
	collector template. predefine SignalVoid for void(void) signals.

	* rapicorn/buttons.hh, rapicorn/buttons.cc:
	moved event handling to ButtonController.

	* rapicorn/container.cc: made singleton packer creation thread safe.
	dispatch event handling to item->controller() instances.

	* rapicorn/item.hh, rapicorn/item.cc: introduced per-item controller
	objects which take over the responsibility of handling events.

Sun Jul  3 13:27:03 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/paintcontainers.hh, rapicorn/paintcontainers.cc:
	removed button-view code.

	* rapicorn/buttons.hh, rapicorn/buttons.cc: moved button 
	implementation here.

Wed Jun 29 22:21:52 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/painter.cc: 
	Painter::draw_shaded_rect(): managed to move 5 muls and one add out of
	the inner loop, for an overall speed improvement of 5%.

	* rapicorn/primitives.cc:
	Plane::combine(): use generic pixel combiner for unknown endianess.

Wed Jun 29 21:48:50 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/primitives.cc: added optimized variant for combining pixel
	planes in-place with COMBINE_OVER, this gives a 30% speed improvement.

	* tests/pixcombine.cc: new test, used to benchmark pixel combination.

Wed Jun 29 11:43:39 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/painter.cc:
	major speed optimizations to shaded rectangles. combined, the
	following changes result in a more than 60% speed-up.
	Painter::draw_shaded_rect(): convert color components from int
	to float outside of the inner loop. fill destination area span-wise
	not pixels-wise. use a quick-and-dirty uint32-random generator
	rather than lrand48(). this random number generator is good enough
	for dithering but just requires one multiply and one add.

	* rapicorn/primitives.hh: support hand out of entire Plane spans.

	* tests/shaderect.cc: new test, used to benchmark shaded rectangles.

Tue Jun 28 22:32:57 2005  Tim Janik  <timj@gtk.org>

	* implemented on-demand plane rendering so no extra intermediate
	planes are constructed (and combined) for containers which do only
	layout and don't paint anything themselves.

	* rapicorn/primitives.hh, rapicorn/primitives.cc: 
	Plane::combine(): added lucent argument to allow variable alpha.
	Point::dist2(): return square distances.
	Display: new class which can be used to create clipped planes and
	render the combined result.

	* rapicorn/pangolabel.cc:
	* rapicorn/paintcontainers.cc: create planes for rendering from 
	the Display passed in to render(). 

	* rapicorn/container.hh, rapicorn/container.cc: render containers
	to a Display instead of a plane.

	* rapicorn/item.hh: render() now just has a Display as argument.

Wed May 11 18:10:56 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/primitives.cc (pixel_combine): make this an external
	inline function, so it always gets inlined.

Tue May 10 23:13:03 2005  Tim Janik  <timj@gtk.org>

	* configure.in: added --enable-profile=no option.

Sat May  7 15:47:36 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/arrangement*.hh, rapicorn/arrangement.cc:
	add arrangement container interface and implementation. an arrangement
	allowes free form item positioning, based on coordinates.

	* rapicorn/properties.hh: added Point (two doubles) property.

	* rapicorn/birnetutils.cc, rapicorn/birnetutils.hh: 
	added conversion functions between string and a vector of doubles.

	* rapicorn/paintcontainers.cc: fixed button event return values.

	* examples/tour.xml: test arrangement.

Tue Apr 19 14:32:48 2005  Tim Janik  <timj@gtk.org>

	* version 0.1.0-rc1.

Tue Apr 19 14:27:41 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/birnetutils.hh, rapicorn/birnetutils.cc: allow varying bases
	when converting strings to integers.

	* rapicorn/paintcontainers.cc: allow color property specification as
	hex triplet.

Mon Apr 18 23:10:21 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/painter.cc: implement hline and vline drawing.
	implemented draw border, and draw shadow. implemented shaded
	and filled rectangles.

	* rapicorn/mksignals.sh: /bin/sh is more protable than bash.

	* examples/Makefile.am: check xml files with xmllint.

	* examples/tour.cc, examples/tour.xml: minor fixups, added licensing.

Sun Apr 17 19:42:35 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/primitives.hh: fixed pixel stride.

	* rapicorn/pangolabel.hh, rapicorn/pangolabel.cc: implement PangoLabel.

	* examples/tour.cc: setup the root item widget.

Sun Apr 17 19:06:31 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/birnetsignal.hh: introduce ScopeReference to keep an
	instance referenced within block scope. added SignalFinalize
	which does not need the emitter to be ref/unref-ed around emit(),
	but instead asserts its in finalization stage. cleanups.
	* rapicorn/birnetsignaltemplate.hh: use ScopeReference.

	* rapicorn/birnetutils.hh: added is_derived<>().

	* rapicorn/item.hh: made sig_finalize a SignalFinalize, so we don't
	trigger ref_count!=0 assertions during finalization.

	* tests/signal.cc: removed cruft.

	* examples/tour.xml: define dialogs for tour.cc.

	* examples/tour.cc: build tree from tour.xml.

	* examples/gtkrootwidget.hh, examples/gtkrootwidget.cc: embedd the
	Root item in a GtkWidget.

	* examples/Makefile.am: only build tour example if gtk is present.

	* configure.in: test for pango and Gtk+ and provide automake 
	conditionals for them.

Sun Apr 17 13:37:42 2005  Tim Janik  <timj@gtk.org>

	* examples/: new directory to compile example programs.

	* examples/tour.cc: example skeleton.

Sat Apr 16 18:00:21 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/layoutcontainers.hh, rapicorn/layoutcontainers.cc:
	implement Alignment, HBox and VBox containers.

	* rapicorn/paintcontainers.hh, rapicorn/paintcontainers.cc:
	implement Ambience, Frame and ButtonView Containers.

	* rapicorn/painter.hh, rapicorn/painter.cc: interface for drawing
	operations on planes, such as hlines, vlines or shading/filling a
	rectangle. added Dasher implementation internally, a helpr structure 
	for stippled outlines.

Fri Apr 15 18:06:41 2005  Tim Janik  <timj@gtk.org>

	* tests/markup.cc: test markup parser. 

Fri Apr 15 17:38:52 2005  Tim Janik  <timj@gtk.org>

	* tests/Makefile.am: compile tests with -DRAPICORN_PRIVATE to enable
	a few convenience macros.

	* tests/datalist.cc: test datalist implementation.

	* rapicorn/item.cc: removed unused test code.

Fri Apr 15 17:13:02 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/table.hh, rapicorn/table.cc, rapicorn/tableimpl.hh:
	define Table interface, implement TableImpl, a very versatile 
	container type, based on GtkTable of GTK+.

	* rapicorn/container.hh, rapicorn/container.cc, rapicorn/containerimpl.hh:
	define the most basic Container API. define Root widget API. implement
	SingleContainerImpl and MultiContainerImpl, implement RootImpl.

	* rapicorn/item.hh, rapicorn/item.cc, rapicorn/itemimpl.hh:
	define API of the most basic graphically visible instance, an Item.
	provide sample implementation ItemImpl.

	* rapicorn/primitives.hh, rapicorn/primitives.cc: implemented Affine
	transformations as class type. 

	* rapicorn/factory.hh, rapicorn/factory.cc: implement factory logic to
	register item types and create item instances. added gadget parser
	(XML based item tree descriptions) so item definitions can be read in
	and created from XML definitions.

	* rapicorn/birnetmarkup.hh, rapicorn/birnetmarkup.cc: added simple 
	XML markup parser, based on GMarklup from GLib.

	* rapicorn/private.hh: define MakeProperty() internally.

Thu Mar 31 16:18:20 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/utilities.hh, rapicorn/utilities.cc: implement class
	Convertible, a class providing interface<>() methods to retrieve
	different interfaces. 

	* rapicorn/birnetutils.hh: added DataListContainer, a class containing
	a DataList.

	* rapicorn/Makefile.am: actually compile utilities.cc.

Thu Mar 31 15:48:06 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/properties.hh, rapicorn/properties.cc: implement generic
	Property structure and derived types for booleans, ints, doubles and
	strings. these allow to generically query, set and get properties on
	an object.

	* tests/properties.cc: test property constructors for various types.

Wed Mar 30 00:52:05 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/birnetsignalslot.hh: moved signal handler and slot
	definitions here. there're no emitter handlers/slots anymore.
	support extra data argument for function and method handlers.

	* rapicorn/birnetsignaltemplate.hh: removed handlers/slots. moved
	knowledge about emitter obejct into Emission. let class Emission
	care about casting handlers correctly (with or without emitter arg),
	cleaned up signal methods some.

	* rapicorn/birnetsignal.hh: removed HandlerBase, ReferencableBase.
	added with_emitter flag to signal handlers. made SlotBase a regular
	class, rather than a template. 

	* rapicorn/mksignals.sh: fixed line numbers. allow 17 arguments.
	allow specification of maximum argument count. 

	* tests/signal.cc: test data handlers and emitter-less ahndlers.

	* rapicorn/Makefile.am: generate birnetsignalvariants.hh from
	birnetsignalslot.hh (we need 0..17 argument handlers) and
	birnetsignaltemplate.hh (for 0..16 argument signals).

Tue Mar 29 17:00:08 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/birnetsignal.hh, rapicorn/birnetsignal.cc: namespace change
	to namespace Signals. added EmissionBase, extended SignalBase to
	maintain a signal handler list as ring data structure. removed
	accumulators, added Collectors, added Signature template to extract the
	return type of a function type for functions with up to 16 arguments.
	include birnetsignalvariants.hh to define all signal variants. 

	* rapicorn/birnetsignaltemplate.hh: implement signal with emission and
	handlers etc, for exactly 3 signal arguments. 

	* rapicorn/mksignals.sh: generate signal variants for 0..16 signal 
	arguments from birnetsignaltemplate.hh.

	* rapicorn/birnetsignaldefs.hh, rapicorn/birnetsignalinc.hh: removed.

	* rapicorn/private.hh: renamed PRIVATE_CLASS_COPY().
	* rapicorn/birnetutils.hh: renamed BIRNET_PRIVATE_CLASS_COPY().

	* rapicorn/Makefile.am: generate birnetsignalvariants.hh.

	* tests/signal.cc: test signal variants for 0..16 arguments with void
	and other return types. 

Mon Mar 28 10:12:34 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/birnetsignal.hh, rapicorn/birnetsignaldefs.hh:
	moved signals into an extra Signal namespace, renamed Signal::Closure
	to Signal::Handler. 

	* rapicorn/birnetutils.hh: import relevant parts from 
	the Signal namespace.

Mon Mar 28 10:01:06 2005  Tim Janik  <timj@gtk.org>

	* acbirnet.m4: disable -fmessage-length argument to g++, since it 
	doesn't really improve error output with gcc-3.4.

	* rapicorn/birnetsignaldefs.hh: disabled signal generation.
	added test implementation of a 3 argument signal which supports passing
	the emitter object as first argument to signal handlers.

	* rapicorn/birnetutils.hh: virtualize the delete this; operation of 
	ReferenceCountImpl, so derived instances can adapt deletion to their
	allocation scheme. 

	* tests/signal.cc: disabled old signal tests.
	added test for 3 argument signal variant, currently implemented in
	birnetsignaldefs.hh.

Sun Mar 27 19:52:12 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/birnetsignal.hh, rapicorn/birnetsignalinc.hh:
	* rapicorn/birnetsignaldefs.hh:
	rudimentary signal (callback list) implementation for C++.

	* tests/signal.cc: test signals.

Sun Mar 27 05:54:04 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/events.hh, rapicorn/events.cc: 
	provide several event types with constructor for mosue events,
	button events, focus events, key events and scroll events. 
	also, provide ModifierState and KeyValue (by including keycodes.hh)
	enums for key events.

	* rapicorn/keycodes.hh: keyboard key codes, generated from gdkkeysyms.h.

	* rapicorn/appearance.hh, rapicorn/appearance.cc: 
	provide class Style which provides colors according to various states.
	provide class Appearance which is simply a Style factory.

Sun Mar 27 05:21:40 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/primitives.hh, rapicorn/primitives.cc:
	consolidated Rect() constructors. added Plane, an ARGB pixel buffer,
	which uses an endian dependant ARGB format with premultiplied alpha.
	this is the same format cairo uses for its surface buffers in ARGB mode.
	plane implements various combination modes, i.e. the non-inverting
	porterduff modes, blending and value combination.

Sun Mar 27 04:20:15 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/primitives.hh, rapicorn/primitives.cc:
	provide degree/radians conversion. provide asm-based ftoi for doubles.
	provide iround, iceil, ifloor. 
	implement class Point with double coordinates. implement rectangle
	type class Rect based on Point coordinates. implemented ARGB Color
	type. 

	* tests/primitives.cc: test get_hsv/set_hsv Color conversions.

	* rapicorn/utilities.hh, rapicorn/utilities.cc:
	moved gettext logic here. import abs, clamp, min, max. provide mixed
	double/long variants for min and max, to not confuse the compiler
	if integer constants are used.

	* rapicorn/birnetutils.hh: fixed up swap, min, max, abs and clamp by
	using std:: versions if possible.

	* rapicorn/enumdefs.hh, rapicorn/enumdefs.cc: removed utility stuff.

Sun Mar 27 01:37:22 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/enumdefs.hh, rapicorn/enumdefs.cc:
	provide i18n funcitons and defines. define enum types:
	FrameType, LightingType, AlignType, WrapType, EllipsizeType, 
	StateType and ColorType. implement introspection mechanism 
	for enums defined in enumdefs.hh (based on glib-mkenums). import
	Birnet namespace and include private.hh for rapicorn compilation.

	* rapicorn/private.hh: define convenience non-namespaced helper
	macros for rapicorn compilation.

	* rapicorn/birnetutils.hh: added min, max, clamp and abs.

Sat Mar 26 19:52:48 2005  Tim Janik  <timj@gtk.org>

	* tests/walker.cc: test Walker template.

	* rapicorn/rapicorn.hh: added includes.

	* tests/Makefile.am: build and run tests.

	* build po/ and tests/

Sat Mar 26 19:02:56 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/birnetutils.hh, rapicorn/birnetutils.cc:
	provide standard types, assertion macros, compiler attributes,
	string conversion functions, warning/error/diagnostic functions,
	exception hanlding basics. provide special classes:
	(class Deletable): class with virtual destructor.
	(class PointerIterator): make a real iterator from a memory pointer.
	(class ValueIterator): automatically dereference an iterator.
	(class IteratorRange): self contained iterator range, a normal iterator
	that also knows it's container's end(), implements has_next(), done().
	(class ValueIteratorRange): a dereferencing IteratorRange.
	(class Walker): an easy to use iterator_range (begin(), end())
	substitute. creating a walker template only requires specification of
	the actual value type. walkers are created with walker(...).
	(class ReferenceCountImpl): implement a Deletable object with a 31bit
	reference count and floating state. derived types should use 
	BIRNET_DISABLE_CLASS_COPY() to prevent stack allocation of instances.
	(class DataList): implement a list of generic data items in a typesafe
	way. sizeof(DataList) is supposed to be just sizeof(Pointer) to allow
	empty lists with as little as possible overhead.
	(class DataKey): type specific key template to index DataList items.
	binary_lookup*(): implement binary lookups as templates.

Sat Mar 26 18:50:03 2005  Tim Janik  <timj@gtk.org>

	* rapicorn/standard.xml: empty skeleton.

Sat Mar 26 18:46:20 2005  Tim Janik  <timj@gtk.org>

	* configure.in: detect glib, pango and libz. fixed xmllint check.

	* rapicorn/Makefile.am: basic build rules.

Sat Mar 26 18:08:15 2005  Tim Janik  <timj@gtk.org>

	* AUTHORS, NEWS, README: describe affairs.

Sat Mar 26 17:51:28 2005  Tim Janik  <timj@gtk.org>

	* TODO, Makefile.am, autogen.sh, configure.in, po-helper.sh.in :
	add standard project files.

Sat Mar 26 17:22:26 2005  Tim Janik  <timj@gtk.org>

	* acbirnet.m4: usefull autoconf macros.
	
