2009-12-30  Tim Janik 	# bb02c8c92f8

	plic/tests/Makefile.am: fixed EXTRA_DISTs

2009-12-30  Tim Janik 	# 0e947dba1db

	Makefile.am: comment on list_properties() check

2009-12-28  Tim Janik 	# 4eb888a37c4

	rapicorn: fixed missing EXTRA_DISTs

2009-12-28  Tim Janik 	# c00bf645ff6

	rapicorn/: fixed missing EXTRA_DISTs

2009-12-28  Tim Janik 	# abb53d15ad0

	plic/: fixed pyutilsdir for srcdir!=builddir

2009-12-28  Tim Janik 	# 9e89cf2987f

	README: slight updates

2009-12-27  Tim Janik 	# c197ce45537

	configure.in: version update to 0912.

2009-12-27  Tim Janik 	# 7227d0143bc

	Shorten API check error message

2009-12-26  Tim Janik 	# 5c7c3aaf79c

	Build and use plic-intern to not depend on installed plic.

2009-12-07  Tim Janik 	# 5813943a96a

	Updates to compile with GCC-4.4.

2009-12-07  Tim Janik 	# a1888059b5e

	configure.in: make libreadline mandatory, tests depend on it

2009-12-07  Tim Janik 	# da763a34951

	configure.in: always call AM_PATH_PYTHON to define pythondir

2009-12-07  Tim Janik 	# b1f5d744953

	configure.in: -fno-strict-aliasing is required to compile Python headers

2009-12-07  Tim Janik 	# c85ee5ee0a8

	rpytypes.cc: const-fixup

2009-12-07  Tim Janik 	# cce4b0a414b

	pyrapicorn/Makefile.am: use PYTHON_CPPFLAGS for Python includes

2009-12-07  Tim Janik 	# 0b21b8f9a98

	rapicorn/: fixed missing stdio.h includes

2009-12-07  Tim Janik 	# deafb2d418b

	loop.cc: silence gcc4.4 about unused result

2009-12-07  Tim Janik 	# 68a346a14a2

	rapicorn/primitives.cc: hide stdio.h uses in *.cc file

2009-12-07  Tim Janik 	# 4669c4d00e4

	rapicorn-core/: fixed missing stdio.h includes

2009-12-07  Tim Janik 	# 71b9d7f9d31

	rapicorn/types.cc: namespace and include fixes for new PlicTypePackage.cc

2009-12-07  Tim Janik 	# e23e4583e4d

	plic/PlicTypePackage.cc: properly namespace everything

2009-12-07  Tim Janik 	# 2e9cd0d38d2

	tests/ptptest.cc: catch include omissions in PlicTypePackage.cc

2009-12-07  Tim Janik 	# a464d9a0a63

	plic/PlicTypePackage.cc: include stdio.h, since we use printf

2009-12-07  Tim Janik 	# d1b7715a458

	rapicornutils.cc: remove "auto" which is redefined in C++0x

2009-12-07  Tim Janik 	# a9e89560f37

	configure.in: fixup python checks to use AC_PYTHON_DEVEL to be less fragile

2009-11-25  Tim Janik 	# abc55dbfd40

	tests/region.cc: fixed compiler paranoia on operator precedence

2009-11-25  Tim Janik 	# 54f17de4882

	listarea.cc: handle missing case label

2009-11-25  Tim Janik 	# b8f42571bc0

	item.cc: fixed compiler paranoia on '&'

2009-11-25  Tim Janik 	# 5c02688d8c0

	image.cc: fixed bogus include

2009-11-25  Tim Janik 	# 61b54b0d416

	Renamed the type system types: bool int float string

2009-11-25  Tim Janik 	# 4747d4f09ba

	plic/tests/testpass.idl: added real world signal + collector test

2009-11-25  Tim Janik 	# 087f5802a12

	plic/Rapicorn.py: generate accessors and signal collectors

2009-11-25  Tim Janik 	# ceb04029fa2

	plic/Parser.g: parse collectors for signal return types

2009-11-25  Tim Janik 	# 9779c96798b

	plic/Decls.py: support a collector setting on (return-) types

2009-11-25  Tim Janik 	# b32ac2c6e3a

	plic/tests/: test case rename to avoid conflicts with real widgets

2009-11-23  Tim Janik 	# 04f5d7f4cb5

	plic/: support "include '' as implementation;" statements

2009-11-16  Tim Janik 	# d713d68c7f2

	plic/: added reference file based test for Rapicorn backend

2009-11-16  Tim Janik 	# aa1988458bc

	plic/Rapicorn.py: added Rapicorn code generation backend to plic

2009-11-16  Tim Janik 	# ed2ba894b35

	GType.py: print namespace names instead of object IDs

2009-11-16  Tim Janik 	# 656c59cf054

	Makefile.decl: merged newline command into TSTTITLE printf format string

2009-11-06  Tim Janik 	# d2dde0459ed

	plic/: minor type package layout cleanups

2009-11-06  Tim Janik 	# 99646563d29

	rapicorn-core/Makefile.am: added types-ptpp.cc to CLEANFILES to regenerate

2009-11-06  Tim Janik 	# 6360adea632

	Makefile.decl: split out TSTDIFF macro to allow pure test diff checks

2009-11-06  Tim Janik 	# 1da28016d58

	Use 'd' for REALs in Plic and Rapicorn, added 'FUNC' function type support

2009-11-06  Tim Janik 	# 6bb39d8a732

	rapicorn-core/tests/Makefile.am: properly clean generated type package files

2009-11-04  Tim Janik 	# 1cfb4738556

	Makefile.am: reworte rapicorn sample program compilation to be cachable

2009-11-04  Tim Janik 	# 6edc36372ad

	Makefile.decl: don't strip spaces in test titles

2009-11-04  Tim Janik 	# 43151bbae30

	tests/Makefile.am: test rule cleanups using TST* macros

2009-11-04  Tim Janik 	# f0244d44305

	Makefile.decl: added STDERR_@ and STDOUT_@ verbosity redirection macros

2009-11-04  Tim Janik 	# 3d7be03ea18

	plic.py: ignore -EPIPE errors during --cc-type-package-parser output

2009-11-04  Tim Janik 	# cfe3473d184

	plic/: use TST* macros for installation checks

2009-11-04  Tim Janik 	# 358986bdd3b

	Makefile.decl: actually abort for failing test results

2009-11-04  Tim Janik 	# 9b61db26c28

	whitespace fixup

2009-11-04  Tim Janik 	# 7052c5f43d3

	primitives.cc: reduced loop test runs to 10% to improve testing speed

2009-11-04  Tim Janik 	# 1d7a5fa59af

	rapicorn/tests/: rewrote sinfex expressions tests to use a reference file

2009-11-04  Tim Janik 	# ad5973b5deb

	Makefile.decl: introduced force-check-update:-rule to enforce TST updates

2009-11-04  Tim Janik 	# 13c9936403a

	Makefile.decl: added TSTTMP for temporary file names

2009-11-04  Tim Janik 	# 83ea4b96cba

	Makefile.decl: moved NOUPDATE here, needed by the TST* macros

2009-11-04  Tim Janik 	# 923105e6f84

	plic/: fixed up test rules to use TST* macros

2009-11-04  Tim Janik 	# 772219873a8

	Makefile.decl: added TST* macros to write test rules

2009-11-04  Tim Janik 	# a1a26dfc8cb

	Makefile.decl: introduce $(_@) to control make rule verbosity

2009-11-04  Tim Janik 	# 808157fc649

	plic/: slight fixups for the --plic-fail-file-test and --plic-debug options.

2009-11-04  Tim Janik 	# 93818da734f

	plic/: cosmetic fixups to the TypePackage test

2009-11-04  Tim Janik 	# 8e58c1badf1

	plic/: added include file support plus test files

2009-11-04  Tim Janik 	# 61402a09504

	plic/: allow 'make DEBUG=1' to print out parsing phase exceptions

2009-11-04  Tim Janik 	# 33ef4d8be06

	plic/: moved parse_main() into parser, made exception handling internal

2009-10-31  Tim Janik 	# 7a29d5253d3

	plic/: reference file name fixup

2009-10-31  Tim Janik 	# bf03772976a

	plic/: support 'void' as method and signal return type

2009-10-31  Tim Janik 	# 6756d00a331

	plic/: fixup to some error types

2009-10-31  Tim Janik 	# 2dfe6b56881

	plic/: support signal definitions in interfaces

2009-10-31  Tim Janik 	# a98a39f2b0e

	plic/: improved tests to use detailed reference files

2009-10-31  Tim Janik 	# d714011517e

	plic/: reset parser state between fail tests

2009-10-27  Tim Janik 	# 01549346030

	plic/tests/Makefile.am: use --plic-fail-file-test for check-fail:

2009-10-27  Tim Janik 	# e2a01747432

	plic/plic.py: add --plic-fail-file-test option to expect multiple parse errors

2009-10-27  Tim Janik 	# 538cdf5543d

	plic/yapps2runtime.py: allow print_error() output redirection.

2009-10-23  Tim Janik 	# 6334446cf4a

	plic/: added interface parsing support.

2009-10-23  Tim Janik 	# fb4977b30fc

	plic/TypePackage.py: fixed variable access.

2009-10-22  Tim Janik 	# cd5bed80e21

	Silence bogus Xlib-RANDR-extension-missing messages on stderr.

2009-10-22  Tim Janik 	# 4b86a7f673a

	plic/: fixed gcc-4.3.3 warnings.

2009-10-22  Tim Janik 	# 2a70901c176

	Merge branch 'plic'

	* plic: (122 commits)
	  Ported to git-1.6.0 and gcc-4.3.
	  README: explain yapps2 inclusion.
	  plic/Makefile.am: build parser with included yapps2.
	  yapps2_deb: applied Debians yapps2_2.1.1-17.1.diff.gz.
	  yapps2_deb: added yapps2_2.1.1.orig.tar.gz from Debians yapps2_2.1.1-17.1.
	  plic/Makefile.am: clean autogenerated parser in maintainer mode
	  TypePackage.py: sort namespaces and types for binary lookups
	  PlicTypePackage.cc: fixed typo in comment.
	  Fixed project for distcheck.
	  autogen.sh: fixed build dir test, caught by Richard Hult.
	  Makefile.am: only use posixly sed features
	  plic.py: disable --system-typedefs option, turns out to not strictly be needed
	  PlicTypePackage.cc: fixups to parse recent type id adaptions
	  Adapted binary type IDs so the last char identifies the fundamental type.
	  Added --system-typedefs option to generate fundamental type definitions.
	  tests/Makefile.am: relay inner shell errors for proper exit codes
	  Renamed aux data values, adde dhints test.
	  AuxData.py: fixed default value assignments
	  Fixed fundamental type definitions.
	  ptptest.cc: print errors to stderr so they aren't captured as regular output

2009-10-21  Tim Janik 	# 83d0375e87e

	mksignals.sh: fixed line numbering information to start at 1.

2009-10-20  Tim Janik 	# 2b0832c7c9a

	tests/: added data-driven UI object state unit tests.

	    * tests/Makefile.am: added test facilities to verify expected UI
	    object state with reference test dump files.
	    - added RAPIDRUN_TEST_DUMP, a command that runs rapidrun sandboxed
	      in Xvfb and silences useless RANDR warnings.
	    - added TEST_DUMP_CMP_DIFF_SCRIPT which creates a test dump with
	      rapidrun, and compares it against a reference dump file.
	    - turned factory-test into a reference file based test.
	    - added "force-update" rule to automatically regenerate all test
	      dump reference files, forcing future tests to succeed.

	    * tests/factory-test.ref: added reference file for factory-test.

2009-10-20  Tim Janik 	# 758d41b7dcb

	rapidrun: support automatic test dumps after dialog display.

2009-10-20  Tim Janik 	# d44d0749ea8

	Root: emit sig_displayed after rendering completion.

2009-10-16  Tim Janik 	# ccc6b6bde89

	ViewportGtk: fixed inverted interpretation of HINT_UNFOCUSED

2009-10-16  Tim Janik 	# 913c78bdf54

	TestStreamImpl: escape XML attribute values in testdumps to validate correctly

2009-10-14  Tim Janik 	# 83a8762d94d

	Merge branch 'DataTest'

	* DataTest:
	  tour.cc: added comment demonstrating TestStream filter
	  TestStream: support regular expression filters for node names
	  Regex: started simple PCRE/GRegex wrapper
	  Introduced TestStream to encapsulate test dump serialization.
	  rapicornutils: added string_{to|from}_type<String>() for generic code.
	  Added dump_private_data() for ButtonArea.
	  Fixed Item::get_test_dump() indentation logic
	  Item: renamed Item::get_test_dump(), added dump_private_data() method.
	  Item::dump_test_data(): dump item properties.
	  properties.[hc]*: added readable() writable() accessors.
	  Fixed Ambience write-only property flags.
	  Added string_option_{check|get}() utilities.
	  Item::dump_test_data(): produce nested, indented XML node dumps.
	  Prototype implementation of dump_test_data() on Item and Container.

2009-10-14  Tim Janik 	# ac7ff74ad06

	tour.cc: added comment demonstrating TestStream filter

2009-10-04  Tim Janik 	# 55ac04e1154

	TestStream: support regular expression filters for node names

2009-10-04  Tim Janik 	# 42ee5335e4d

	Regex: started simple PCRE/GRegex wrapper

2009-10-04  Tim Janik 	# d91f8e5e599

	Introduced TestStream to encapsulate test dump serialization.

2009-10-04  Tim Janik 	# 05dcc74c326

	rapicornutils: added string_{to|from}_type<String>() for generic code.

2009-08-23  Tim Janik 	# 6c7448a76a6

	Added dump_private_data() for ButtonArea.

2009-08-23  Tim Janik 	# decc40dfeac

	Fixed Item::get_test_dump() indentation logic

2009-08-23  Tim Janik 	# 5faf137f019

	Item: renamed Item::get_test_dump(), added dump_private_data() method.

2009-08-23  Tim Janik 	# 4e0f1d4b307

	Item::dump_test_data(): dump item properties.

2009-08-23  Tim Janik 	# e0a5e3da9c3

	properties.[hc]*: added readable() writable() accessors.

2009-08-23  Tim Janik 	# 16ce7a1aeed

	Fixed Ambience write-only property flags.

2009-08-23  Tim Janik 	# 0c7ed70dfc1

	Added string_option_{check|get}() utilities.

2009-08-22  Tim Janik 	# bfa9c14e2be

	Item::dump_test_data(): produce nested, indented XML node dumps.

2009-08-22  Tim Janik 	# 377e28c3ced

	Prototype implementation of dump_test_data() on Item and Container.

2009-07-05  Tim Janik 	# 24d0b21431a

	Fixups for gcc-4.3, regarding templates and includes.

2009-10-14  Tim Janik 	# d330c8f9097

	Merge branch 'List'

	* List: (56 commits)
	  ListArea: added selection support.
	  Implemented selection modes for 1-dimensional modesl.
	  FileView: update list row layout.
	  ListArea: Implemented row focus frame.
	  FileView: allow file store filling for any directory.
	  Added Frame::tight-focus fixed Frame::overlap-child readability.
	  fileview: fixed layouting by copying List* definitions from test-list.xml.
	  ListArea: fixed range guards in resize_scroll() to prevent segfaults.
	  ListArea: slight change for large test models
	  ListArea: fixed resizing logic.
	  ListArea: ensure enough row2pos iteration steps for small lists.
	  ListArea: constrained complexity of fractional row2pos.
	  ListArea: cleaned up unused code.
	  ListArea: added row2pos and pos2row for fractional scrolling.
	  ListArea: working new layout + selection color, lacking pixel scrolling
	  ListArea: new layouting allmost working
	  ListArea: new linear row layouting
	  ListArea: started new layout approach.
	  ListArea: added plain row measurement facility.
	  ListArea: added rudimentary row selection key handler
	  ...

2008-12-01  Tim Janik 	# 688886240ac

	ListArea: added selection support.

	* rapicorn/listarea.cc, listareaimpl.hh: update list for model
	changes and support various selection modes.

	* tests/fileview.cc: adaptions to API changes.

2008-11-30  Tim Janik 	# 120314b2460

	Implemented selection modes for 1-dimensional modesl.

	* rapicorn-core/enumdefs.hh: added selection mode enum.

	* rapicorn-core/models.hh: added selection API to Model1.

	* rapicorn-core/models.cc: implemented none, single, browse,
	multiple and interval selection modes for Model1.

	* rapicorn-core/tests/mod1tst.cc: adaptions to API changes.

2008-11-25  Tim Janik 	# 67734778d29

	FileView: update list row layout.

2008-11-25  Tim Janik 	# 93bf3a72a3f

	ListArea: Implemented row focus frame.

2008-11-25  Tim Janik 	# 52c2078ee95

	FileView: allow file store filling for any directory.

2008-11-25  Tim Janik 	# be4b6a808c4

	Added Frame::tight-focus fixed Frame::overlap-child readability.

2008-11-22  Tim Janik 	# 347f7e24a7b

	fileview: fixed layouting by copying List* definitions from test-list.xml.

2008-11-22  Tim Janik 	# a0cab41dedf

	ListArea: fixed range guards in resize_scroll() to prevent segfaults.

2008-11-22  Tim Janik 	# 47281647205

	ListArea: slight change for large test models

2008-11-22  Tim Janik 	# 6653d901bbb

	ListArea: fixed resizing logic.

	* rapicorn/listareaimpl.hh, listarea.cc: simplified ModelSizes handling,
	added row height cache handling to row_height(). block parent invalidation
	for row layout changes due only to scroll position changes. fixed
	measure_rows(), so ModelSizes always provides a usable measurement_row.
	added resize_scroll_preserving() to resize scroll without parent
	invalidation.

2008-11-05  Tim Janik 	# a3268301a1a

	ListArea: ensure enough row2pos iteration steps for small lists.

2008-11-05  Tim Janik 	# 9f453754706

	ListArea: constrained complexity of fractional row2pos.

2008-11-05  Tim Janik 	# b9286228966

	ListArea: cleaned up unused code.

2008-11-05  Tim Janik 	# 59c5d5202b1

	ListArea: added row2pos and pos2row for fractional scrolling.

2008-11-03  Tim Janik 	# b75279ccf37

	ListArea: working new layout + selection color, lacking pixel scrolling

2008-11-03  Tim Janik 	# aba89d3708e

	ListArea: new layouting allmost working

2008-11-03  Tim Janik 	# 17165e392e9

	ListArea: new linear row layouting

2008-11-01  Tim Janik 	# 1e543eb8a0c

	ListArea: started new layout approach.

2008-11-01  Tim Janik 	# eac8d1ed2ee

	ListArea: added plain row measurement facility.

2008-11-01  Tim Janik 	# 7ada50334e1

	ListArea: added rudimentary row selection key handler

2008-11-01  Tim Janik 	# 7675a56d267

	Fixed list alignment and packing to include horizontal scrollbar.

2008-10-26  Tim Janik 	# 46e774f8638

	ItemList: use alternating even/odd row colors.

	* rapicorn/listareaimpl.hh, listarea.cc: assign even/odd background colors
	to alternating rows.

	* tools/test-list.xml: paint rows with flat background color.

2008-10-23  Tim Janik 	# e4c4faf0d40

	Added support for configurable ListArea items.

	* rapicorn/listareaimpl.hh, listarea.cc: made list row and table layout items
	configurable. use SingleContainerImpl::layout_child() for horizontal layout.

	* tools/test-list.xml: provide ListAreaTable and ListRow items.
	expand rows horiontaly and demonstrate row Ambience (gradients).

2008-08-13  Tim Janik 	# 6d861d7a063

	listarea.cc: adapt for vertical sliders increasing downwards.

2008-08-13  Tim Janik 	# c9825f9fcc0

	Use size groups to get vertically aligned columns in list area.

	* rapicorn/listareaimpl.hh:, listarea.cc: create horizontal size groups for
	each column. deactivate size groups while constantly repacking + measuring
	rows, to avoid O(children^2) algortihm complexity for layouting.

2008-08-13  Tim Janik 	# 94f3690a857

	listarea.cc: Fixed row filling buglet, clear out unused cells.

2008-08-11  Tim Janik 	# 40985fc6e1b

	listarea: cleanup list rows in destructor

2008-08-11  Tim Janik 	# dd2de25348f

	listarea: use a HBox per row.

2008-08-11  Tim Janik 	# 1f71a81f0b0

	listarea.cc: slight compiler warning fixup

2008-08-11  Tim Janik 	# 4683f3f4fcc

	fileview.cc: use vertical column separators

2008-08-09  Tim Janik 	# e411ecadee7

	tests/fileview.cc: fill list array with CWD contents.

2008-08-09  Tim Janik 	# 6f1e70f23f0

	values.hh: added char and long setters to BaseValue.

2008-08-08  Tim Janik 	# 6686d64ef90

	Added clear() method to models.

2008-08-07  Tim Janik 	# efc6e7fa5a4

	tests/fileview.*: start writing a file view test program.

2008-08-07  Tim Janik 	# e0a196d0ae2

	listarea: factored out create_row(), support multiple columns.

2008-08-07  Tim Janik 	# 825a851afad

	New standard type mangling, adaptions to new Plic type IDs.

	* tests/testtypes.idl: more typedefs needed by modval.cc.

	* tests/modval.cc: test fundamental type nodes Num, Real, String, Array,
	Choice and Sequence.

	* types-std.idl: insert '_' into standard type names, so they don't conflict
	with Plic keyword names. added "Array" standard typedef (with dummy type,
	because Plic doesn't know boxed array types).

	* Makefile.am: don't compile types-ptpp.cc which is included by types.cc.
	patch up standard types from types-std.idl when generating types-zgen.c,
	because Plic can't support all standard type features needed by Rapicorn.

	* types.hh, types.cc: const fixes, provide storage_name(),
	adapted standard type lookup to use new mangling.

2008-08-04  Tim Janik 	# d3085ef4138

	enumdefs.hh: adapt type code to latest Plic version

2008-08-02  Tim Janik 	# 0e07ce39a15

	listarea.cc: const fixups.

2008-07-24  Tim Janik 	# b70260e930e

	Introduced global fundamental types NUM, REAL, STRING, ARRAY, OBJECT.

	* rapicorn-core/enumdefs.hh: provide StorageType with NUM, REAL, STRING,
	ARRAY, OBJECT as fundamental types, and CHOICE, TYPE_REFERENCE, SEQUENCE,
	RECORD as specialized types.

	* rapicorn-core/types.hh, types.cc: use StorageType and EnumTypeStorageType,
	got rid of Type::Storage.

	* rapicorn-core/values.hh, values.cc: use StorageType instead of Type::Storage,
	constrain storage types to NUM, REAL, STRING, ARRAY, OBJECT.

	* rapicorn-core/models.hh: use StorageType.

	* rapicorn-core/tests/xmltest.cc:
	* rapicorn-core/tests/modval.cc: use StorageType values.

2008-07-22  Tim Janik 	# cf9c55b5c1d

	Started Array serialization implementation.

	* rapicorn-core/rapicornxml.hh, rapicornxml.cc: added xml_string() to convert
	an XmlNode tree into a string, added steal_children() and methods to flag
	addition of newlines to the serialized string.

	* rapicorn-core/values.hh, values.cc: added class XmlNodeWalker to ease
	recursive XmlNode tree processing. added Array::from_xml() prototype, added
	Array::to_xml().

	* rapicorn-core/tests/xmltest.cc: added xml2array and array2xml tests.

2008-07-20  Tim Janik 	# e2edece8eb1

	Use Rapicorn::Model1 in ListArea.

	* rapicorn/listarea.hh, listareaimpl.hh, listarea.cc: added model() property
	to specify the data model (as URLs) for lists. construct a sample model in
	::constructed() for test purposes.
	use Rapicorn::Model1, removed test model implementation.

2008-07-19  Tim Janik 	# a54acc5ba2a

	Support Rapicorn standard types String, Num, Real.

	* Makefile.am: generate types-zgen.c from types-std.idl.

	* types-std.idl: define standard types String, Num, Real in Rapicorns
	standard namespace 'Rapicorn$$std'.

	* types.hh, types.cc: register standard types upon initialization.
	relay standard type lookups to 'Rapicorn$$std' namespace.

	* rapicornutils.cc: initialize types when rapicorn is initialized.

	* tests/modval.cc: test standard type lookups.

2008-07-07  Tim Janik 	# bdf3ae7369e

	listarea: fixups, really use count() and get() from Model

2008-07-07  Tim Janik 	# 36e5d6e7792

	models.hh: represent model count as int64 to avoid frequent signedness conversions

2008-07-05  Tim Janik 	# 5ebe816e184

	listareaimpl.hh: removed test Array definition, use Array from values.hh.

2008-07-05  Tim Janik 	# 320dd5889a4

	listarea.cc: fixed accumulator in layout logic to not account offscreen pixels

2008-07-05  Tim Janik 	# b01edcd7119

	listarea.cc: minor debugging changes

2008-07-03  Tim Janik 	# 6e32929fe35

	listarea: Adapt to packer removal and use h-/vposition properties for packing

2008-04-21  Tim Janik 	# 492d4bbbffa

	rapicorn/listarea.cc: implemented smooth pixel scrolling for small models.

2008-04-21  Tim Janik 	# 12ff40dd1b5

	rapicorn/listareaimpl.hh: split off ListArea implementation header.

2008-04-21  Tim Janik 	# 8b57915b0b4

	rapicorn/listarea.[hc]*: renamed list area source files.

2008-04-21  Tim Janik 	# cf5a42dc363

	itemlist.cc: implemented row caching and scrolling abilities.

2008-04-18  Tim Janik 	# a0f8ca0f8e0

	itemlist.cc: trigger visual_update() on vadjustment changes.

2008-04-16  Tim Janik 	# 10e46f412a3

	tools/test-list.xml: added test list dialog as development aid.

2008-04-16  Tim Janik 	# b3a08676665

	itemlist.cc: provide horizontal and vertical scroll adjustments through AdjustmentSource interface.

2008-04-15  Tim Janik 	# fcf7ab3b5a9

	rapicorn/itemlist.[hc]*: started prototype list widget.

2009-10-14  Tim Janik 	# df9fdbfe763

	Merge branch 'ModelTypes'

	* ModelTypes: (36 commits)
	  Fixups for gcc-4.3, regarding templates and includes.
	  configure.in: properly check for Python.h
	  Makefile.am: adapt to git-1.6.0
	  tests/Makefile.am: fixed unit tests to use TEST_PROGS.
	  Fixed Store1 implementation, added Store1 unit test.
	  Added Type::try_lookup() and made Type::lookup() non failing.
	  values.cc: fixed off-by-one error in Array index key computation
	  Reinstated modval test, using the new Type class and IDL types.
	  Support and test loading of type package files.
	  Removed types-ptpp.cc from repository, just include it in tarballs.
	  Switched to new Type class, prepared for Plic Type Package utilization.
	  Work around make(1) ignoring unknown shell commands with options
	  Added rule to generate plictypepkg.cc.
	  rapicorn-core/types.cc: amend type info comments about parsing structure
	  Fixed auxdata handling in class Type replacement.
	  Support storage and aux data accessors for class Type replacement.
	  modval.cc: fixed passing dynamic instead of static memory into from_type_info()
	  Made class Type replacement a real copyable object.
	  modval.cc: added string_from_chars<>() to create Strings from char arrays with embedded nulls.
	  Sketched out a class Type replacement.
	  ...

2009-07-05  Tim Janik 	# 51728d0da6d

	Fixups for gcc-4.3, regarding templates and includes.

2009-07-05  Tim Janik 	# f244a72ef27

	configure.in: properly check for Python.h

2009-07-05  Tim Janik 	# 54a8d5fb99b

	Makefile.am: adapt to git-1.6.0

2009-05-24  Tim Janik 	# 2db0b606812

	Ported to git-1.6.0 and gcc-4.3.

2008-07-13  Tim Janik 	# 8d40e55c4c8

	tests/Makefile.am: fixed unit tests to use TEST_PROGS.

2008-07-12  Tim Janik 	# 87ab11a6c8d

	Fixed Store1 implementation, added Store1 unit test.

	* rapicorn-core/models.hh, models.cc: renamed store accessors. allow store
	insertions with negative index. fixed row removal implementation. allow
	updating of contents in a store.

	* rapicorn-core/tests/mod1tst.cc: test insert/remove/update store operations.

2008-07-08  Tim Janik 	# 2d1eb88cd89

	Added Type::try_lookup() and made Type::lookup() non failing.

	* rapicorn-core/types.hh, types.cc: made Type::lookup() non failing, added
	try_lookup() which is allowed to hand out non-types.

	* rapicorn-core/tests/modval.cc: use Type::try_lookup() for invalid typename test.

2008-07-07  Tim Janik 	# 077d12702ee

	values.cc: fixed off-by-one error in Array index key computation

2008-07-03  Tim Janik 	# 4a48e6b1f6d

	Reinstated modval test, using the new Type class and IDL types.

	* rapicorn-core/tests/Makefile.am: modval.cc depends on testtypes.tpg.

	* rapicorn-core/tests/modval.cc: reenabled tests, adaptions to the new
	Type class, use newly defined types from testtypes.idl.

	* rapicorn-core/tests/testtypes.idl: added type definitions for modval.cc.

	* rapicorn-core/types.hh, types.cc: allow Type construction from fully
	namespaced type name.

2008-07-03  Tim Janik 	# d0e270dcb05

	Support and test loading of type package files.

	* rapicorn-core/tests/mod1tst.cc: resurrected tests by loading testtypes.tpg and
	using types from the RapicornTest namespace defined in testtypes.idl.

	* rapicorn-core/tests/Makefile.am: generate testtypes.tpg from testtypes.idl
	and include both in tarballs. ensure creation of testtypes.tpg for mod1tst.cc.

	* rapicorn-core/tests/testtypes.idl: provide SimpleString and SimpleRecord
	in the RapicornTest namespace for mod1tst.cc.

	* rapicorn-core/types.hh, types.cc: added notype() and istype() methods to
	represent failing type lookups. added lookup() for namepaced type lookups
	(initial and slow version), register_package_file() and register_package()
	to register type package files and lookup types loaded in this way.

2008-07-03  Tim Janik 	# a7b1ea6714b

	Removed types-ptpp.cc from repository, just include it in tarballs.

2008-07-02  Tim Janik 	# 766218d54e3

	Switched to new Type class, prepared for Plic Type Package utilization.

	* rapicorn-core/types.hh, types.cc: replaced the old Enumeration and Type classes
	with the new Typ2 class which got renamed to class Type. The new class provides
	a simpler API and needs only one class to represent all types. The best storage
	type identifiers to mediate between semantic types as provided by plic and
	implementation types like Value and Array are yet to be determined.

	* rapicorn-core/types.cc: include types-ptpp.cc to parse PLIC type packages.

	* rapicorn-core/types-ptpp.cc: PLIC TypePackage Parser, checked in because plic
	is a devel-only dependency.

	* rapicorn-core/values.hh, values.cc: use the new Type class. Alias some storage
	types, which boil down to the same implementation mechanisms. renamed real().

	* rapicorn-core/tests/mod1tst.cc: disabled all test, broken by the new Type class.

	* rapicorn-core/tests/modval.cc: disabled all test, all are broken currently.

	* configure.in: check for plic, provide $(PLIC).

	* rapicorn-core/Makefile.am: generate types-ptpp.cc with plic.

2008-06-28  Tim Janik 	# 297ecc86589

	Work around make(1) ignoring unknown shell commands with options

	* rapicorn-core/Makefile.am: use ":; $(COMMAND) --something...", so make
	doesn't ignore invocation errors resulting from unset COMMAND (because that'd
	make '-' the first non-whitespace character of the generation command).

2008-06-28  Tim Janik 	# a1c21e88807

	Added rule to generate plictypepkg.cc.

2008-06-22  Tim Janik 	# 8350db88f31

	rapicorn-core/types.cc: amend type info comments about parsing structure

2008-03-30  Tim Janik 	# 396e10a7858

	Fixed auxdata handling in class Type replacement.

	* rapicorn-core/tests/modval.cc: perform the same tests for class Type and
	its replacement class.

	* rapicorn-core/types.cc: allow label() to fallback to ident() and ensue that
	hints() results are enclosed in ':'. fixed auxdata offset parsing logic.

	* rapicorn-core/types.hh: allow convenience treatment for label() and hints().

2008-03-30  Tim Janik 	# 6bb91e9add9

	Support storage and aux data accessors for class Type replacement.

	* rapicorn-core/types.[hc]*: provide storage and aux data accessors.

	* rapicorn-core/tests/modval.cc: check storage and aux string extraction.

2008-03-30  Tim Janik 	# 9195fc17941

	modval.cc: fixed passing dynamic instead of static memory into from_type_info()

2008-03-30  Tim Janik 	# 222c652917a

	Made class Type replacement a real copyable object.

	* rapicorn-core/types.[hc]*: made from_type_info() return real copyable type objects.

	* rapicorn-core/tests/modval.cc: check new from_type_info() API, name() method and
	error handling in from_type_info().

2008-03-30  Tim Janik 	# e5d5445794b

	modval.cc: added string_from_chars<>() to create Strings from char arrays with embedded nulls.

2008-03-30  Tim Janik 	# b3fadc6fb14

	Sketched out a class Type replacement.

	* rapicorn-core/types.hh: replaced class TypeTest by class Typ2, intended
	as a replacement for class Type. sketched out a more comprehensive type
	API in the new class.

	* rapicorn-core/types.cc: implement Typ2::from_type_info().

	* rapicorn-core/tests/modval.cc: use Typ2 interface.

2008-03-30  Tim Janik 	# c3172a225f1

	rapicorn-core/types.cc: turned type info parser into static functions

2008-03-30  Tim Janik 	# e9fca1b7da2

	rapicorn-core/types.cc: made parsing functions static methods

2008-03-29  Tim Janik 	# a930b21ccde

	rapicorn-core/types.cc: applied format parsing comments

2008-03-29  Tim Janik 	# 24be95b962d

	rapicorn-core/types.cc: consolidated integer length checks

2008-03-29  Tim Janik 	# 49510e704d6

	rapicorn-core/types.cc: consolidated (string) parsing logic

2008-03-29  Tim Janik 	# c5c3f4dd20e

	rapicorn-core/types.cc: separated method to parse type info

2008-03-28  Tim Janik 	# 7b3a3c3143d

	Started development of recursive type info parser.

	* rapicorn-core/types.hh: added test class for new type info parser.

	* rapicorn-core/types.cc: started development of a new type info parser
	for supporting mmapped recursive type definitions.

	* rapicorn-core/tests/modval.cc: test simple type info strings.

2008-03-04  Tim Janik 	# bdf4a348237

	mod1tst.cc: added comment with tets idea

2008-02-22  Tim Janik 	# b1aa65d62d2

	Test Array of Any values as MemoryStore row.

2008-02-22  Tim Janik 	# 7cba445601a

	Support C strings in AutoValue and test pushing AutoValues into Arrays.

2008-02-22  Tim Janik 	# ed16d7288c8

	mod1tst.cc: added first 1D model/store test.

2008-02-17  Tim Janik 	# 9394b139488

	models.[hc]*: added 1D model and store interfaces and a memory store.

2008-02-17  Tim Janik 	# 8761549707c

	Test framework got verbosity support and test mode accessors.

	* rapicorn-core/rapicorncdefs.h: added RapicornInitSettings::test_verbose.

	* rapicorn-core/rapicornutils.cc: accept --test-verbose (and --verbose).

	* rapicorn-core/tests/infotest.cc: suppress non-verbose test output.

	* rapicorn-core/tests/modval.cc: ported to new Test API.

	* rapicorn-core/testutils.hh:
	* rapicorn-core/testutils.cc: support test omde flags, beautified output.

2008-02-17  Tim Janik 	# b25e1f715d8

	Small Array and Model0 API cleanups.

	* rapicorn-core/models.hh:
	* rapicorn-core/models.cc: turned type() and value() for Model0 into regular
	accessor functions to match othr model types.

	* rapicorn-core/values.hh: renamed Array::FromCArray() to indicate that the
	template argument needs to be a regular C array.

	* rapicorn-core/tests/modval.cc: adaptions to API changes.

2008-01-15  Tim Janik 	# 42f59f01067

	Added Model0, aka Variable.

	* rapicorn-core/models.hh:
	* rapicorn-core/models.cc: added 0-dimensional model (aka "Variable") that
	combines a Value structure and Type information. it also provides change
	notification via a signal.

	* rapicorn-core/tests/modval.cc: test Model0.

	* rapicorn-core/Makefile.am:
	* rapicorn-core/rapicorn-core.hh: include and build models.hh and models.cc.

2008-01-14  Tim Janik 	# 858e11ba014

	Started implementation of Types, Values and Array.

	* rapicorn-core/types.[hc][hc]: prototype of a mechanism to
	deserialize type information.

	* rapicorn-core/values.[hc][hc]: added basic value types and
	an ordered associative array implementation.

	* rapicorn-core/tests/modval.cc: test Type, AnyValue and Array.

	* rapicorn-core/Makefile.am:
	* rapicorn-core/rapicorn-core.hh: include and build types.hh and values.hh.

	* rapicorn-core/tests/Makefile.am: added modval.cc test.

2008-11-16  Tim Janik 	# 15e8ad1a417

	Virtualized size invalidation propagation.

	* rapicorn/item.hh, item.cc: fixed missing POSITIVE_ALLOCATION flag updates.
	virtualized size invalidation propagation from children to parents.

	* rapicorn/container.cc: properly invalidate_parent() from repack_child().

	* rapicorn/table.cc: properly chain up to MultiContainerImpl::repack_child().

2008-11-01  Tim Janik 	# b0644705e30

	rapicorn/item.cc: force exposing after item size invalidation

2008-10-26  Tim Janik 	# 9aabf3beac7

	item.cc: fixed missing propagations of heritage() changes.

2008-10-26  Tim Janik 	# 928548987ce

	paintcontainers.hh: removed useless virtual qualifiers in Ambience class.

2008-10-26  Tim Janik 	# f0d7f472727

	paintcontainers.cc: fixed CnP-error in Ambience::shade() to really set shades.

2008-10-22  Tim Janik 	# 8d75c8cb7ae

	container.cc: expose layout logic via SingleContainerImpl::layout_child().

2008-10-18  Tim Janik 	# 7932a34caee

	Added Item::color-scheme property to control Heritage class variants.

2008-10-18  Tim Janik 	# 13c4dca0218

	paintitems.cc: fixed arrow color by using foreground().

2008-10-16  Tim Janik 	# a90cf75db1e

	heritage.cc: support "selected" as variant

2008-10-16  Tim Janik 	# a06cf18477a

	Added support for selected() heritage variant.

	* heritage.hh, heritage.cc: fixed base colors. added factory function
	and reworked internals to provide a selected and "base" variants.

	* root.cc: use heritage factory function.

	* text-pango.cc: added test code for selected text rendering.

2008-10-12  Tim Janik 	# e456809f7c9

	Introduced class Heritage and cleaned up color handling.

	* rapicorn-core/enumdefs.hh: extended predefined color set.

	* rapicorn/appearance.hh, appearance.cc: removed, superseded by heritage.[hc]*.

	* rapicorn/heritage.hh, heritage.cc: introduced class Heritage which provides
	themed colors and other information inherited by branches from containers.

	* rapicorn/item.hh, rapicorn/item.cc: replaced style() by heritage(),
	optimized needless recursive propagation calls. adapted color accessors.

	* rapicorn/paintcontainers.cc: use heritage() instead of style().

	* rapicorn/rapicorn.hh: include heritage.hh instead of appearance.hh.

	* rapicorn/root.cc: removed style handling, create and assign heritage.

	* rapicorn/text-pango.cc: use heritage() instead of style(), use newly added
	insensitive_ink() function instead of hard coding insensitive color shades.

	* rapicorn/testitems.cc: get color from heritage().

	* rapicorn/Makefile.am: build heritage.[hc]*, removed appearance.[hc]*.

2008-10-12  Tim Janik 	# d4bcb0e90b8

	heritage.cc: copied from appearance.cc.

2008-10-05  Tim Janik 	# a06bf68f62b

	application.cc: fixed auto_load() to search beyond CWD.

2008-09-20  Tim Janik 	# 2e5a64f8398

	rapicorn/primitives.hh: fixed uint hiding signedness bugs

2008-09-17  Tim Janik 	# 98a46915609

	text-pango.cc: added guards to prevent rendering of negative (empty) regions

2008-09-07  Tim Janik 	# 22757221a6e

	README: explain yapps2 inclusion.

2008-09-07  Tim Janik 	# 7b92b337b76

	plic/Makefile.am: build parser with included yapps2.

2008-09-07  Tim Janik 	# 50211d60f2e

	yapps2_deb: applied Debians yapps2_2.1.1-17.1.diff.gz.

2008-09-07  Tim Janik 	# 37fb8c918cc

	yapps2_deb: added yapps2_2.1.1.orig.tar.gz from Debians yapps2_2.1.1-17.1.

2008-09-07  Tim Janik 	# 5ead2a6eafa

	plic/Makefile.am: clean autogenerated parser in maintainer mode

2008-09-07  Tim Janik 	# 2e4b79036c9

	TypePackage.py: sort namespaces and types for binary lookups

2008-08-23  Tim Janik 	# 0bcca0528a6

	PlicTypePackage.cc: fixed typo in comment.

2008-08-19  Tim Janik 	# 6f85d2bb4e7

	*/Makefile.am: properly cleanup autogenerated stamp files.

2008-08-19  Tim Janik 	# 1b3f72665d3

	Upgraded configure.in package dependencies, depend on Cairo.

	* configure.in: cleanups, check for dependent libraries early on, added
	cairo dependency, updated dependencies for glib, pango, gtk+ (basically
	matching etch packages). provide RAPICORN_CORE_{CFLAGS|LIBS} and
	RAPICORN_GUI_{CFLAGS|LIBS} to link rapicorn libraries. don't check twice
	for libz.

	* rapicorn.pc.in:
	* **/Makefile.am: cleanups, use new build flags.

2008-08-19  Tim Janik 	# 95c90291f1e

	pyrapicorn/Makefile.am: fixed EXTRA_DIST assignment.

2008-08-15  Tim Janik 	# f629ede78c6

	*.cc: fixed excessive "using namespace std;" statements

2008-08-15  Tim Janik 	# c2a71551546

	utilities.cc: fixed bogus mutex declaration

2008-08-15  Tim Janik 	# aff34c3dc83

	factory.cc: removed useless VariableMap copy

2008-08-15  Tim Janik 	# f32305eb3b9

	item.hh: removed bogus default argument.

2008-08-15  Tim Janik 	# a49cb77286b

	slider.cc: fixed scroll wheel handling to decrement for left/up, otherwise increment

2008-08-13  Tim Janik 	# e776c140a6a

	Changed vertical sliders to mount lower boundary at the top and increase downwards.

	* rapicorn/foundation.xml: corrected scroll arrows, up decrements, down increments.

	* rapicorn/scrollitems.cc: flipped vertical adjustment readouts.

	* rapicorn/slider.cc: flipped vertical adjustment coordinates.

2008-08-13  Tim Janik 	# b223fba338e

	Implemented horizontal and vertical SizeGroups.

	* rapicorn/item.hh, item.cc, itemimpl.hh: made Item::requisition() the
	canonical method to acquire an Item's requisition. moved actualy size
	requisition logic into Item::inner_size_request(), added cache_requisition()
	to keep storing the requisitions in ItemImpl. call SizeGroup methods upon
	item invalidation and deletion.

	* rapicorn/sizegroup.hh, sizegroup.cc: implemented horizontal and vertical
	size groups, to enfore multiple items requesting the same horizontal or
	vertical size (size groups can be deactivated so they don't have any effect).

	* rapicorn/rapicorn.hh: include sizegroup.hh.

	* rapicorn/Makefile.am: compile sizegroup.cc.

2008-08-12  Tim Janik 	# df19c433b37

	Fixed allocatable() for children that have hidden ancestors.

	* rapicorn/item.hh, item.cc, itemimpl.hh: fixed some missing flag propagations,
	introduced PARENT_VISIBLE to properly propagate allocatable(), so an Item is
	not allocatable if it has no toplevel or a hidden ancestor. this is needed to
	determine the validity of an item's size requisition (for size groups).
	queue resizes if allocatable() changes.

	* rapicorn/rootimpl.hh, root.cc: override self_visible() since toplevels have
	no parents, but are allocatable() if visible.

2008-08-12  Tim Janik 	# 19ec5ffa4d2

	Prevent size requisition of non-allocatable children.

2008-08-11  Tim Janik 	# b91e05df0ab

	Fixed quadratic resizing complexity when adding table children.

	* rapicorn/tableimpl.hh, table.cc: resizing fixups.
	resize_table: only walk children list for shrinking requests.
	repack_child: only resize table if growing is required.

2008-08-11  Tim Janik 	# 93e9b2d19ea

	Extended repack_child() to provide original and new PackInfo.

	* rapicorn/container.hh, container.cc: added original and new PackInfo
	structures to repack_child(). call repack_child() once after add_child()
	with hspan=vspan=0 in the original PackInfo to indicate the initial
	repack_child() call.

	* rapicorn/item.cc: provide original and new PackInfo to repack_child().

	* rapicorn/tableimpl.hh, table.cc: adapted repack_child().

2008-08-11  Tim Janik 	# 220b263e940

	item.[hc]*: pass old and new PackInfo into repack().

2008-08-10  Tim Janik 	# 92bea94e9a9

	item.[hc]*: made PackInfo setters non-inline.

2008-08-10  Tim Janik 	# 05ba7316618

	item.[hc]*: const fixes, inlined position() getter.

2008-08-10  Tim Janik 	# 047562d2000

	utilities.hh: deriving Walker::AdapterBase from Deletable slows down destructions.

2008-08-06  Tim Janik 	# 89297c1e289

	rapicorn-zintern.cc: support "-n" option to break output lines after newlines

2008-08-06  Tim Janik 	# 5507a679301

	Fixed project for distcheck.

	* configure.in: fixed build dir test.

	* plic/Makefile.am: fixed automake rules for distcheck.

	* plic/tests/Makefile.am: fixed automake rules for distcheck,
	ship all neccessary files.

2008-08-06  Tim Janik 	# bde9fa111ff

	autogen.sh: fixed build dir test, caught by Richard Hult.

2008-08-06  Tim Janik 	# f217b9efcd1

	Makefile.am: only use posixly sed features

2008-08-06  Tim Janik 	# 64bc1061984

	plic.py: disable --system-typedefs option, turns out to not strictly be needed

2008-08-06  Tim Janik 	# f3b05227ece

	PlicTypePackage.cc: fixups to parse recent type id adaptions

2008-08-03  Tim Janik 	# dbe830a0682

	Adapted binary type IDs so the last char identifies the fundamental type.

2008-08-02  Tim Janik 	# a61adc4a290

	Minor comment fixes.

2008-08-02  Tim Janik 	# 697deeafc34

	Support environment arguments for Application::create_window().

2008-08-02  Tim Janik 	# d9a7ccf7724

	Guard 0/0 divisions in sliders which yield NANs.

2008-08-02  Tim Janik 	# 1f5b32fdcc8

	Issue a warning if NANs are assigned as adjustment values.

2008-08-02  Tim Janik 	# afd48544753

	Fixed missing evaulation of <arg:.../> values.

	* rapicorn/factory.cc: properly parse + evaluate <arg:.../> values.

	* tests/factory-test.xml: assert proper evaulation of <arg:.../> defaults.

	* tests/Makefile.am: added test rule for factory-test.xml.

2008-08-01  Tim Janik 	# 7d88fb891de

	Added environment arguments to Factory constructors.

	* examples/scroller.cc: use Args() to create argument list.

	* rapicorn/factory.hh, factory.cc: allow environment arguments for window,
	item and container creation. added convenience constructor for ArgumentList.

2008-08-01  Tim Janik 	# 345526877ee

	Issue warnings about unresolved variable references in XML files.

2008-08-01  Tim Janik 	# af49dfa0025

	Provide default size for TestItem so it is visible by default.

2008-08-01  Tim Janik 	# 8eb48c50bfd

	Added ::value and ::assert_value properties to TestContainer.

2008-07-31  Tim Janik 	# 46b86ae1c50

	rapidrun.cc: popup the first available Root item definition.

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

	* tools/rapidrun.cc: flag root items in --list mode, show first root item
	from definition list instead of a hard coded dialog name.

2008-07-31  Tim Janik 	# 1c02b51c2d5

	Added basic window creation support to the Python bindings.

	* pyrapicorn/rpytypes.cc: introduce PyWindow, a Python wrapper object for
	Rapicorn::Window. support create/show/del for a start.

	* pyrapicorn/rpymodule.cc: cleanups by including rpy.hh. added rudimentary
	wrapper code for Application class, implemented Window creation and main
	loop execution. initialize Rapicorn (currently for X11).

	* pyrapicorn/rpy.hh: common header file for the Rapicorn Python bindings.

	* pyrapicorn/module.cc: removed, renamed/migrated to rpymodule.cc.

	* pyrapicorn/__init__.py: provide rudimentary Application class wrapper,
	export pyRapicorn symbols as RapicornVERSION module.

	* pyrapicorn/Makefile.am: build rpymodule.cc rpytypes.cc. rewrote module
	test rule to check Window creation.

2008-07-30  Tim Janik 	# f125907bc14

	Added Window::from_object_url() to construct Window objects from root object URLs.

2008-07-30  Tim Janik 	# c1621316b22

	Added RAPICORN_CPP_STRINGIFY() and test code.

2008-07-27  Tim Janik 	# ee7314f2359

	Renamed pyrapicorn/rpymodule.cc.

2008-07-19  Tim Janik 	# 8b317e1f0de

	rapicornutils.hh: make Deletable::object_url() publically accessible

2008-07-18  Tim Janik 	# 9b4aeb098d4

	Support unique URLs for string<->object lookups for all Deletables.

	* rapicorn-core/rapicornutils.hh, rapicornutils.cc: generate unique URLs for
	a Deletables on demand and support looking up objects from those URLs.
	Added Deletable::object_url() and Deletable::from_object_url().

	* rapicorn-core/tests/infotest.cc: test object URLs.

2008-07-18  Tim Janik 	# dd7434e8ea5

	rapicornutils.cc: refactored hook pointer to an auxillary data structure for deletables

2008-07-14  Tim Janik 	# 57725a216e4

	Added process_handle(), improved random seeding.

2008-07-14  Tim Janik 	# dd12274933b

	Added Path::memread() and Path::memfree() to simply access file contents.

2008-07-20  Tim Janik 	# 6d591b3c916

	xmltest.cc: prepared XML array test, converted to use testutils.hh.

2008-07-21  Tim Janik 	# 6e0ead70780

	Added string_multiply() with O(n) complexity, test for various cases

2008-07-24  Tim Janik 	# 920e7964e9d

	zintern.cc: include/depend only on rapicorncdefs.h.

2008-07-19  Tim Janik 	# e94675f5233

	Added --system-typedefs option to generate fundamental type definitions.

	* plic/Parser.g: allow '$' in typenames and keywords as identifier names
	for --system-typedefs.

	* plic/plic.py: pass on --system-typedefs config option.

	* plic/tests/testfail.idl: check for keyword redefinitions and invalid names.

2008-07-19  Tim Janik 	# 48c2191dd76

	tests/Makefile.am: relay inner shell errors for proper exit codes

2008-07-19  Tim Janik 	# e42f509e9bc

	Renamed aux data values, adde dhints test.

2008-07-08  Tim Janik 	# 49968b1a06f

	Isolate unit tests within Xvfb.

	* Makefile.decl: added Xvfb(1) wrapper macros to isolate GUI test execution
	from active sessions. provide TEST_PROGS for test pograms inside Xvfb. execute
	slow and performace tests inside Xvfb as well.

	* rapicorn-core/tests/Makefile.am: execute unit tests as TEST_PROGS.

	* rapicorn/tests/Makefile.am: execute unit tests as TEST_PROGS and within Xvfb.

	* tests/Makefile.am: execute rapidrun tests inside Xvfb.

2008-07-05  Tim Janik 	# 8674a7e7c11

	item.cc: reduced visual update throttling to 20ms (50Hz) to improve interactiveness

2008-07-05  Tim Janik 	# bfe2e8a9b4e

	Added unit test for width-from-height expanding arrows (HSlider alike).

2008-07-05  Tim Janik 	# b1ce6b7d609

	Added rapidrun --list to list gadgets from a GUI file.

	* rapicorn/application.hh, application.cc: added auto_path(), only make one
	parsing attempt in auto_load().

	* rapicorn/factory.hh, factory.cc: return newly parsed gadgets
	from Factory::parse_file().

	* tools/rapidrun.cc: added --list option to list newly parsed Gadgets.

	* tools/Makefile.am: added simple --list test.

2008-07-05  Tim Janik 	# bfd19c82c5c

	TestContainer: default to fatal assertions and conditionalize solid painting.

	* rapicorn/testitems.hh, testitems.cc: enable fatal assertions by default
	for TestContainer. disabled allocation painting unless ::paint_allocation
	is set to true.

2008-07-05  Tim Janik 	# 2c6ccad53b5

	Turned TestItem into a TestContainer to enable child testing.

	* rapicorn/foundation.xml: added TestContainer.

	* rapicorn/testitems.hh, testitems.cc: turned TestItem into a TestContainer
	to enable testing of layout behavior of child widgets.

	* rapicorn/tests/testitems.cc:
	* rapicorn/tests/factory.cc: adaptions to use TestContainer.

	* rapicorn/tests/testitems.xml:
	* rapicorn/tests/factory.xml: create TestContainer items.

2008-07-04  Tim Janik 	# cde1f9dcde1

	foundation.xml: force numeric evaluation of center_child arg to fix scroll arrows

2008-07-03  Tim Janik 	# 365dd45e0b2

	AuxData.py: fixed default value assignments

2008-07-03  Tim Janik 	# cc80eff86f3

	Error out if ReferenceCountImpl objects are allocated on the stack.

	* rapicornutils.hh: check that reference counted instances are not allocated
	on the stack in ReferenceCountImpl::ReferenceCountImpl() unless a specific
	magic has been passed on construction (because the need to work around this
	check is expected to be exceptionally rare).

	* rapicornutils.cc: error out in ReferenceCountImpl::stackcheck() if the
	instance is allocated on the stack (probability check, based on 'this' being
	in page_size proximity of the stack pointer).
	slight fixup to pointer address modulo in malloc_aligned().

	* rapicornsignal.hh: work around the stack-allocation-check in
	ReferenceCountImpl for SignalBase::EmbeddedLink which has very controlled
	allocation and reference counting semantics. Needed because objects with
	signals may be allocated on the stack.

2008-07-02  Tim Janik 	# 658567b0760

	Fixed fundamental type definitions.

	* Parser.g: define Bool,Num,Real,String globally instead of implicitely
	within each namespace.

	* PlicTypePackage.cc: allow empty namespaces (configurable).

2008-07-02  Tim Janik 	# 1718bdbac7b

	ptptest.cc: print errors to stderr so they aren't captured as regular output

2008-07-02  Tim Janik 	# ffd3a851c4e

	Properly clone types before specializing their aux info, adapted tests.

2008-06-30  Tim Janik 	# 156e9f9c56f

	Parse serialized auxdata, fixed strings, check auxdata in unit tests.

	* TypePackage.py: unquote auxdata value strings for serialization.

	* tests/ptptest.cc: provide usage help, added --aux-test argument to verify
	serialization of specific auxillary data. check type package data for embedded
	zeros. print auxillary type data.

	* PlicTypePackage.cc: provide n_aux_strings() and aux_string() accessor on TypeInfo.

	* tests/testpass.idl: added special auxdata strings for unit tests.

	* tests/Makefile.am: use ptptest to check for serialization of specific
	auxdata strings in testpass.idl.

2008-06-29  Tim Janik 	# 1bb6c04dfd2

	Added proper auxillary type data handling.

	* Decls.py: support auxdata dicts on TypeInfo.

	* AuxData.py: parse auxillary type definition calls into TypeInfo auxdata.

	* Parser.g: parse and assign auxdata for typedef, sequence, record.

	* TypePackage.py: serialize auxdata string lists.

	* tests/testpass.idl: test auxdata type definition calls.

	* tests/testfail.idl: test auxdata type definition checks.

	* Makefile.am: install AuxData.py.

2008-06-29  Tim Janik 	# ea9de8fdccf

	Added parser support for auxillary initializers

2008-06-29  Tim Janik 	# 95c2c06a2b2

	Consolidation of 'typedef' rule by calling 'field_decl' rule

2008-06-29  Tim Janik 	# 4aadcdfec65

	Slight cleanup, rule renames

2008-06-29  Tim Janik 	# 4a4265e2252

	Added support for typedefs.

2008-06-28  Tim Janik 	# 81cdbe3e7bd

	Generate parser for --cc-type-package-parser

2008-06-28  Tim Janik 	# 256ec8ac0ce

	Added unit test for generation and parsing of Plic TypePackage data.

	* PlicTypePackage.cc: parser for the PLIC TypePackage format.

	* tests/Makefile.am: build ptptest, generate TypePackage data from
	testpass.idl, test parsing it with ptptest.

	* tests/ptptest.cc: small unit test to test TypePackage data.

2008-06-28  Tim Janik 	# d66e138ceb1

	TypePackage.py: atomically create read-only file, suitable for mmap-ing

2008-06-28  Tim Janik 	# 7f8ef456418

	PrettyDump.py, GType.py: adapt signature

2008-06-28  Tim Janik 	# c19409fa6d2

	Support -o=outfilename, default to generating plic.out

2008-06-28  Tim Janik 	# e850bfc92f7

	Fixed test cases to use --list-formats

2008-06-28  Tim Janik 	# 038922789d7

	TypePackage.py: build absolute-offset tables to allow random access

2008-06-27  Tim Janik 	# 5b9525a8802

	Renamed binary type map generator to TypePackage.py

	* Makefile.am: package TypePackage.py.

	* Rapicorn.py, TypePackage.py: rename.

	* plic.py: select output formats instead of backends, support TypePackage.py.

2008-06-27  Tim Janik 	# ca01cb68f38

	plic.1: manual page name fixups

2008-06-27  Tim Janik 	# 60f14ab3129

	Makefile.am: fixed plic utility installation path

2008-06-27  Tim Janik 	# ad62488c913

	Changed type package magic to 'PlicTypePkg'

2008-06-27  Tim Janik 	# 436eb0af9c9

	Improved readability and structure of type packages.

	* Rapicorn.py: encode strlen ints differently to improve readability.
	align string memory to 4 bytes (integer size). prefix storage types
	with newlines to improve readability. improved method names. removed
	redundant prefixes, generate type and namespace tables. encode type
	package names. write output to a file instead of stdout.

2008-06-22  Tim Janik 	# 680d0ab9324

	Rapicorn.py: use the same type tag for all reference types

2008-06-22  Tim Janik 	# 6c0124b3472

	Rapicorn.py: improved C string escape sequences<

2008-06-22  Tim Janik 	# dcc548300a7

	Rapicorn.py: embed line break in newlines similar to some image file magic strings

2008-06-22  Tim Janik 	# 364134f6cac

	ChangeLog: kill trailing whitespaces, compress multiple trailing newlines

2008-06-22  Tim Janik 	# 3c57b1b87d4

	Typo fixes

2008-06-22  Tim Janik 	# 35c25b23266

	Namespaced names maybe matched onto one namespace only

	* Parser.g: match a single target namespace for namespace-prefixed
	identifiers and perform identifier lookup in the single namespace.
	Non-prefixed identifiers continue to be looked up in all possible
	outer namespaces. This matches C++ and CORBA namespace lookups.

	* tests/testpass.idl: test outer namespace lookups.

2008-06-22  Tim Janik 	# 499b375b641

	Support namespace prefixing and inner/outer/absolute lookups

2008-06-22  Tim Janik 	# 64657216b58

	Added identifier lookups in outer namespaces

2008-06-22  Tim Janik 	# a3d9782e1a8

	testfail.idl: check invalid type and enum value assignments

2008-06-22  Tim Janik 	# 08bd5e5893a

	Allow nested namespaces

2008-06-22  Tim Janik 	# dbb4b97ea2c

	Removed bogus debugging flag

2008-06-22  Tim Janik 	# 1828171d446

	Allow namespace continuations

2008-06-22  Tim Janik 	# 978e982a965

	Rapicorn.py: encode full type names for type references

2008-06-22  Tim Janik 	# 2f8cac9c3f7

	Rapicorn.py: consolidated type_info generation

2008-06-22  Tim Janik 	# 04a1f404f03

	Rapicorn.py: encode type packages, encode type ids before type names

2008-06-22  Tim Janik 	# 36425018c60

	Rapicorn.py: use human redable number encoding for small numbers

2008-06-22  Tim Janik 	# 87fb1914df7

	Decls.py: properly initialize namespace references

2008-06-09  Tim Janik 	# c94ab57f249

	Rapicorn.py: implemented basic type id generator

2008-06-09  Tim Janik 	# fa6b88dab37

	Decls.py: renamed tentative field for interface types

2008-06-08  Tim Janik 	# cf533076335

	Introduced default pretty-printing backend.

	* Decls.py: provide types() accessor for namespaces.

	* PrettyDump.py: new backend to pretty print namespaces and the TypeInfo
	structures they contain.

	* plic.py: provide fallback pkginstall_configvars for development tests.
	delegate output to the selected backend. select PrettyDump as default backend.

	* Makefile.am: install PrettyDump.py.

2008-06-08  Tim Janik 	# 7d915fc02db

	tests/Makefile.am: silence parser test output.

2008-06-08  Tim Janik 	# 3dcbc45c232

	Added Rapicorn backend skeleton.

	* plic.py: added Rapicorn backend.

	* Rapicorn.py: skeleton for Rapicorn type generation.

	* Makefile.am: install Rapicorn.py.

2008-06-08  Tim Janik 	# fe751586881

	Added --list-backends and -B,--backend selection options.

	* GType.py: sample backend skeleton.

	* plic.py: implemented gnuopt based option parser, support
	backend selection and backend listing options.

	* Makefile.am: install GType.py, check --list-backends.

	* tests/Makefile.am: check --list-backends for installed plic.

2008-06-08  Tim Janik 	# 3dce11de97d

	Fixed plic-VERSION configuration substitutions.

	* Makefile.am: substitute @PKGINSTALL_CONFIGVARS_IN24LINES@ and proper python
	executable path in plic-VERSION.

	* plic.py: initialize pkginstall_configvars from @PKGINSTALL_CONFIGVARS_IN24LINES@.

2008-06-08  Tim Janik 	# 6bcbda29b48

	Ignore generated files.

2008-06-08  Tim Janik 	# f403e7af69d

	Fixed missing modules for installed plic executable.

	* Makefile.am: install Decls.py, Parser.py and yapps2runtime.py in pyutilsdir.

	* plic.py: import Decls from pyutilsdir.

	* tests/Makefile.am: added installcheck, to check install plic.

2008-06-08  Tim Janik 	# f7fc8f5436e

	Plic split up into plic.py and Parser.g.

	* Parser.g: removed main(), kept syntax parser.

	* plic.py: removed syntax parser, kept main().

	* plic.g: removed, split up into plic.py and Parser.g.

	* Makefile.am: generate Parser.py from Parser.g and plic-VERSION from plic.py.

2008-06-08  Tim Janik 	# eab7c34536c

	Copied plic.g to plic.py.

2008-06-08  Tim Janik 	# 909eed35674

	Copied plic.g to Parser.g.

2008-06-06  Tim Janik 	# 92b4dda409b

	NEWS: updated incompatibility section.

2008-06-06  Tim Janik 	# 9b20fa600c3

	Removed premature string->real conversion attempts for variable maps.

	* rapicorn/evaluator.cc: skip string -> real conversion attempts for variable
	map lookups. this is performed automatically upon expression evaluation.

	* rapicorn/foundation.xml: fixed on_click variable reference for DefaultButton.

2008-06-06  Tim Janik 	# f5e3f5930e5

	sinfex.cc: removed redundant str2real() implementation.

2008-06-06  Tim Janik 	# e82dc812e79

	Added ECMAScript alike automatic string <-> real conversions to Sinfex.

	* rapicorn/sinfex.cc: implemented string to real conversion for Sinfex::Value().
	implemented automatic string to real conversion for arithmetic and comparison
	operators, modelled automatic conversion semantics after ECMAScript.
	yield +-Infinity for finite/0 divisions like ECMAScript.

	* rapicorn/sinfex.hh: removed tostring() from Sinfex::Value, as real() and
	string() will do automatic conversions for either type now.

	* rapicorn/evaluator.cc: API adaptions.

	* rapicorn/tests/sinfextest.cc: test automatic string <-> real conversions.

2008-06-05  Tim Janik 	# 8012f3149da

	Fixed nanl() invocations.

2008-06-04  Tim Janik 	# 35ac186e1bc

	examples/scroller: adaptions to new expression syntax.

2008-06-04  Tim Janik 	# 619cca399a8

	NEWS: documented incompatible expression changes.

2008-06-04  Tim Janik 	# b0a71d18d59

	Added string_to_cquote() with tests.

2008-06-04  Tim Janik 	# 225d3b3b084

	Fixed octal digit overflow in string_to_cescape().

2008-06-04  Tim Janik 	# b1ec4b7e451

	Added octal number handling to string_from_cquote().

2008-06-04  Tim Janik 	# e3677a038e1

	Renamed string_to_cquote() to string_to_cescape() since it's not adding quotes.

2008-06-04  Tim Janik 	# 8dd40a9f0ca

	Removed unused rapicorn/tests/evaltest.cc.

2008-06-04  Tim Janik 	# ae9362e122a

	rapicorn/foundation.xml: converted expressions to new Evaluator syntax

2008-06-04  Tim Janik 	# 85488814855

	Switched Evaluator to `infix expressions` syntax.

	* rapicorn/evaluator.hh: cleaned up unused Evaluator API.
	added variable assignment splitting.

	* rapicorn/evaluator.cc: rebased Evaluator implementation on sinfex parser.
	this changes the syntax from $(function) expressions to `backtick` quoted
	infix expressions.

	* rapicorn/factory.hh: whitespace fixes.

	* rapicorn/factory.cc: use Evaluator canonification functions for attributes.

	* rapicorn/sinfex.cc: use string_from_cquote(), added real() conversions.

	* rapicorn/tests/sinfextest.cc: test new Evaluator syntax.

	* rapicorn/tests/evaltest.cc: disabled old Evaluator syntax tests.

2008-06-01  Tim Janik 	# 48dccf72a24

	Added more sinfex functions for printing and boolean conversion.

	* rapicorn/sinfex.cc: added sinfex functions count(), printout(), printerr(),
	bool(), strbool(). fixed min/max/sum/avg for <= 2 arguments.

	* rapicorn/sinfeximpl.hh:
	* rapicorn/sinfex.y: parse single-identifier variables.

	* rapicorn/tests/sinfextest.dat: test new sinfex functions.

2008-06-01  Tim Janik 	# 49954208048

	Added hexadecimal number parsing to sinfex.

2008-05-20  Tim Janik 	# f0a884bd0ff

	Provide standard arithmetical functions in Sinfex.

	* rapicorn/sinfex.cc: implemented StandardScope, a Sinfex::Scope that
	provides the standard functions: rand(), ceil(), floor(), round(), log10(),
	log2(), log(), exp(), hypot(), min(), max(), sum(), avg().

	* rapicorn/tests/sinfextest.dat: test newly added functions.

2008-05-17  Tim Janik 	# 7b1b6ec83fa

	Implemented variable resolution and function call facilities to sinfex.

	* rapicorn/sinfex.hh: introduced Scope class to resolve variables and
	call functions. made Sinfex::Value copyable to construct function args.

	* rapicorn/sinfex.cc: resolve variables and call functoins through Scope.

	* rapicorn/tests/sinfextest.cc: API adaptions, added EvalScope to print
	out variable accesses and function calls.

	* rapicorn/tests/sinfextest.dat: test function arguments.

2008-05-14  Tim Janik 	# 5d5ee37cd22

	Added public Sinfex parsing and evaluation API.

	* rapicorn/sinfex.cc: moved string_cunquote() here, renamed parser class
	to SinfexParser. moved SinfexExpression here, derive from Sinfex.

	* rapicorn/sinfex.hh: added class Sinfex, public API to expression parsing
	and evaluation.

	* rapicorn/sinfeximpl.hh: moved value and expression to sinfex.cc.

	* rapicorn/tests/sinfextest.cc: added basic Sinfex test, adaptions to new API.

2008-05-14  Tim Janik 	# f4e79f2a73d

	Changed AST representation for Sinfex to op-code based consecutive memory.

	* rapicorn/sinfeximpl.hh: changed AST representation to SinfexExpression
	which stores op-codes and data in consecutive memory.
	added SinfexExpressionStack to create expressions.

	* rapicorn/sinfex.cc: handle parse_error() with a stderr message, provide
	SinfexExpressionStack to create AST and evaluate SinfexExpression.

	* rapicorn/sinfex.l: use std::string to return string types.

	* rapicorn/sinfex.y: use SinfexExpressionStack to create AST.

	* rapicorn/tests/sinfextest.dat: added variable and function tests.

2008-05-13  Tim Janik 	# 4011434350b

	Added a small infix expression parser prototype, Sinfex.

	* configure.in: check for libreadline and libhistory.

	* rapicorn/Makefile.am: build Sinfex parser from sinfeximpl.hh,
	sinfex.hh, sinfex.cc, sinfex.l and sinfex.y.

	* rapicorn/rapicorn.hh: include public header sinfex.hh.

	* rapicorn/sinfex.hh: header file for public Sinfex API.

	* rapicorn/sinfex.cc: implement Sinfex parser functions.

	* rapicorn/sinfex.l: lexer for basic operators, strings, numbers.

	* rapicorn/sinfex.y: infix grammar implementation to build abstract
	syntax tree from basic expressions.

	* rapicorn/sinfeximpl.hh: node classes for AST representation.

	* rapicorn/tests/Makefile.am: build sinfextest. use it to run
	checks from sinfextest.dat.

	* rapicorn/tests/sinfextest.cc: simple Sinfex test programm. supports
	--shell as first argument to start interactive line-based Sinfex parser.

	* rapicorn/tests/sinfextest.dat: line based Sinfex test data. provides
	test expressions and expected results on alternating lines.

2008-06-03  Tim Janik 	# d73e6d23ddf

	Added string_from_cquote() with tests.

2008-05-15  Tim Janik 	# b151d60aa3c

	Fixed ChangeLog dependencies to take HEAD date into account.

2008-05-15  Tim Janik 	# 6f3de8ce8f7

	Fixed ChangeLog dependencies to take packed-refs into account.

2008-05-12  Tim Janik 	# 9bf1590476c

	configure.in: present configuration overview after completion.

2008-05-12  Tim Janik 	# 935495184b8

	configure.in: cleaned up configuration macro definitions

2008-05-12  Tim Janik 	# 62938ed4fe6

	rapicorn/Makefile.am: comment improvements

2008-05-08  Tim Janik 	# eac5b6aefb9

	Use more natural looking vertical gradients for too wide rectangles.

	* rapicorn/painter.hh, painter.cc: added draw_center_shade_rect().

	* rapicorn/paintcontainers.cc: use draw_center_shade_rect() in AmbienceImpl.

2008-05-08  Tim Janik 	# 2f582cda392

	Fixed s/gadget/widget/ in some more places.

2008-05-07  Tim Janik 	# 99e8b0b3eca

	Removed Container::ChildPacker entirely.

2008-05-07  Tim Janik 	# b62faac9326

	Replaced Arrangement Packer by Item pack properties.

	* rapicorn/arrangementimpl.hh, arrangement.cc: use Item::PackInfo fields
	to layout children. removed Packer code, replaced some by dummy functions.

	* rapicorn/item.hh, item.cc: added postion() pack property as alias for
	(hposition,vposition) and hanchor(), vanchor() as aliases for halign(),
	valign() respectively. store floating point pack properties with double
	precision.

2008-05-07  Tim Janik 	# f4cdac87e0e

	Made Plane::peek() private, ::poke_span() is the intended public API.

2008-05-07  Tim Janik 	# 315e230fda7

	Renamed Table::col_spacing() for consistency.

2008-05-07  Tim Janik 	# d2954bb9e69

	rapicorn/tests/testitems.cc: use root.enable_auto_close(), removed workarounds.

2008-05-07  Tim Janik 	# d257c903e83

	Renamed rapicorn/testitem.* to rapicorn/testitems.*.

2008-05-07  Tim Janik 	# 5e5d2026825

	Renamed hposition, hspan, vposition, vspan properties.

	* rapicorn/item.hh, item.cc: replaced left_attach, right_attach, top_attach,
	bottom_attach uints by hposition, hspan, vposition, vspan doubles respectively.

	* rapicorn/table.cc:
	* rapicorn/layoutcontainers.cc: adaptions to API changes.

	* examples/texttest.xml:
	* rapicorn/foundation.xml: adaptions to property name changes.

2008-05-05  Tim Janik 	# 63cd759342f

	Replaced hfill/vfill with hscale/vscale.

	* rapicorn/item.hh, item.cc: removed HFILL/VFILL flags. filling can be
	achieved with the newly introduced hscale=1 and vscale=1 pack properties.

	* rapicorn/table.cc: added proper support for halign, hscale, valign, vscale
	pack properties.

	* rapicorn/foundation.xml: moved hscale/vscale from Alignment to child within
	ScrollArea, to preserve layout with new pack properties.

2008-05-05  Tim Janik 	# cbc952e8741

	Made halign, hscale, valign, vscale pack properties.

	* rapicorn/item.hh, item.cc: added halign, hscale, valign, vscale to
	pack properties.

	* rapicorn/container.cc: account for a child's PackInfo settings in
	size_request and size_allocate.

	* rapicorn/layoutcontainers.hh, layoutcontainers.cc: removed halign, hscale,
	valign, vscale properties from Alignment, since those are pack properties now.

	* rapicorn/paintcontainers.cc: chain to SingleContainerImpl::size_request and
	SingleContainerImpl::size_allocate to take care of PackInfo fiddling.

	* tests/alignment.xml: move pack properties from Alignment to child.

2008-05-05  Tim Janik 	# 955e645eb2f

	item.*, table.cc: merged PackAttach & PackSpacing into PackInfo.

2008-05-05  Tim Janik 	# 0de4cba657f

	tests/alignment.*: added alignment snapshot test.

2008-05-05  Tim Janik 	# 07c1ef537ad

	testitem.*: added TestBox to snapshot container contents after first expose.

2008-05-05  Tim Janik 	# 79150cf873e

	rapidrun.cc: added '-x' option to auto-exit after first expose.

2008-05-05  Tim Janik 	# f57f6b8a651

	root*.*: added enable_auto_close() to destroy viewport after first expose.

2008-05-05  Tim Janik 	# 9ee171f205d

	loop.hh: allow custom priorities for Loop::exec_timer().

2008-05-05  Tim Janik 	# 0d816c2b4d4

	tests/: added directory for general Rapicorn tests.

2008-05-05  Tim Janik 	# cdb5561050e

	rapicorn-core/tests/imgcheck.cc: added utility to compare images.

2008-05-05  Tim Janik 	# 0087ad10066

	pixmap.hh, pixmap.cc: export Pixbuf::save_png(), fixed average error in compare().

2008-05-05  Tim Janik 	# 78b8c04f4d2

	primitives.hh, primitives.cc: derive Plane from Pixbuf.

2008-05-05  Tim Janik 	# 4671b11b7f2

	pixmap.hh, pixmap.cc: made Pixbuf::m_rowstride a const protected member.

2008-05-05  Tim Janik 	# 1ef4c17f525

	Makefile.am: fix missing installation of rapicorn-core.hh.

2008-05-04  Tim Janik 	# 66dd65024f0

	factory.cc: provide sensible error messages about unknown widget types.

2008-05-04  Tim Janik 	# bc9c9ae7fa2

	rapidrun.cc: load GUI definition files CWD relative.

2008-05-04  Tim Janik 	# 67948ee0219

	Added Container::repack_child() to retrigger layout logic when needed.

	* rapicorn/container.hh, container.cc: added repack_child() method as a
	container hook for pack property changes of a child. called around
	add_child() to prepare containers for packing a newly added child.

	* rapicorn/item.hh, item.cc: invoke parent's repack_child() once pack
	properties changed.

	* rapicorn/tableimpl.hh, table.cc: use repack_child() to resize table
	layout according to child requirements. removed right_attach/top_attach
	constraint logic that is taken care of by Item.

2008-05-04  Tim Janik 	# 70798edbf59

	Replaced Table pack properties by Item properties.

	* rapicorn/tableimpl.hh, table.cc: replaced Packer implementation with dummy
	code. use Item::* pack properties instead of packer properties.
	added resize() variant to force growth until all children are covered.
	override MultiContainerImpl::add_child() to resize according to added child
	dimensions.

	* rapicorn/item.hh, item.cc: added hshrink/vshrink, hfill/vfill and
	left/right/bottom/top attach and spacing properties to replace packer
	properties in various containers.

	* rapicorn/layoutcontainers.cc: removed HBoxPacker and VBoxPacker
	implementations, use Item::* properties instead. fixed add_child() to
	chain to TableImpl::add_child() which is the immediate parent for
	HBoxImpl and VBoxImpl.

2008-04-27  Tim Janik 	# 297f45fe969

	NEWS: fixed revisioning system line.

2008-04-24  Tim Janik 	# d401caa4ba3

	Release 8.4.0.

2008-04-24  Tim Janik 	# 83aaa79c2d5

	README: updated dependencies for 8.4.0.

2008-04-24  Tim Janik 	# 95263718b3c

	Makefile.am: use detected ${PYTHON} for test cases.

2008-04-24  Tim Janik 	# e671c7bbe3d

	README: updates for 8.4.0.

2008-04-24  Tim Janik 	# d3cabb12102

	Consolidated RAPICORN_RELEASE postfixes.

	* configure.in: consolidated versioning postfixes to RAPICORN_RELEASE, which
	contains concatenated 2 digit numbers for year and month of a release.

	* rapicorn-core/tests/Makefile.am:
	* rapicorn-core/Makefile.am:
	* docs/imports/Makefile.am:
	* pyrapicorn/Makefile.am:
	* examples/Makefile.am:
	* tools/Makefile.am:
	* rapicorn.pc.in:
	* Makefile.am:
	* rapicorn/tests/Makefile.am:
	* rapicorn/Makefile.am: use RAPICORN_RELEASE.

2008-04-24  Tim Janik 	# 85e16e56635

	Renamed RAPICORN_CHECK_VERSION(year,month,revv) arguments.

2008-04-24  Tim Janik 	# 66736807920

	NEWS: added items up to 2008-04-23.

2008-04-24  Tim Janik 	# 4267bdc3a74

	tools/rapidrun.cc: improved help message.

2008-04-23  Tim Janik 	# f4fd507cd5b

	pyrapicorn/module.cc: cast const string to comply with python2.4 Py_InitModule3().

2008-04-22  Tim Janik 	# 336810fd547

	Makefile.am: skip configure.in regeneration rule in tarballs.

2008-04-22  Tim Janik 	# 94cf1d1bd7a

	Version update to 8.4.0.

2008-04-22  Tim Janik 	# 4f30902a720

	rapicorn-core/tests/: load testpixs.png from $(srcdir).

2008-04-22  Tim Janik 	# 1e4368a1490

	examples/Makefile.am: removed bogus extra dist.

2008-04-22  Tim Janik 	# 0a7a57b23de

	docs/imports/Makefile.am: improved updating message.

2008-04-18  Tim Janik 	# 1d37100efe9

	item.[hc]*: introduced visual_update() to allow coalesced async updates.

2008-04-18  Tim Janik 	# 4dc464462b6

	loop.hh: remove repeat_timeout_ms argument for one-shot handlers.

2008-04-17  Tim Janik 	# 9f3c04a41fe

	tour.xml: cleaned up button examples.

2008-04-17  Tim Janik 	# 68b58a6e7b1

	foundation.xml: support on-click arguments for DefaultButtons.

2008-04-17  Tim Janik 	# 27749b66296

	texttest.xml: provide insensitive text example.

2008-04-17  Tim Janik 	# d8ee3d0b9e3

	text-pango.cc: increased insensitive text contrast.

2008-04-17  Tim Janik 	# 10b5d88e112

	Made default color scheme warmer and increased border constrast.

2008-04-16  Tim Janik 	# e532dc27721

	Allow automated adjustment retrieval on full item ancestry.

	* rapicorn-core/enumdefs.hh: renamed AdjustmentSourceType enum values
	to ANCESTRY_*, since we support searching full item ancestries now,
	properly support NONE as adjustment source.

	* rapicorn/item.hh, rapicorn/item.cc: added convenience method
	Item::find_adjustments() to retrieve adjustments from ancestry.

	* rapicorn/scrollitems.cc: use find_ancestry_adjustments().

	* rapicorn/slider.cc: use find_ancestry_adjustments().

	* rapicorn/foundation.xml:
	* examples/texttest.xml: use ancestry-{horizontal|vertical} for adjustment-source.

2008-04-15  Tim Janik 	# 900f4759503

	Make Item::set_parent() non-public API.

	* rapicorn/item.hh: make set_parent() protected.

	* rapicorn/container.cc: use ClassDoctor to call Item::set_parent().

2008-04-13  Tim Janik 	# 79a9f03eebf

	Introduced Item::constructed() and ClassDoctor.

	* rapicorn-core/rapicornutils.hh: declare ClassDoctor, allow specialed
	internal implementations of ClassDoctor.

	* rapicorn/factory.cc: call Item::constructed() after all arguments have
	been assigned to a newly created item.

	* rapicorn/item.[hc]*: introduce virtual constructed() notifier. make
	Container and ClassDoctor the only friend classes.

	* rapicorn/root.cc: call foreign item methods via ClassDoctor.

2008-04-12  Tim Janik 	# 0a06902610e

	Stripped tour and graphics examples.

	* examples/graphics.cc: removed custom command handler and inline images.

	* examples/graphics.xml: removed button test, arrangement test, slider
	test, image tests.

	* examples/tour.cc: removed drawable test which is in graphics.cc now.

	* examples/tour.xml: removed frame test, which is in graphics.xml now.
	removed image tests which are covered by rapicorn-core/tests/pixmaps.cc now.

2008-04-12  Tim Janik 	# 1d4e6c23f15

	examples/graphics.[cx]*: clone from tour.[cx]*

2008-04-10  Tim Janik 	# 53084bed015

	examples/texttest.xml: shrink layout to fit 1024x768 properly

2008-04-10  Tim Janik 	# e38f4b8e0ab

	examples/scroller.cc: assign individual commands to all buttons

2008-04-01  Tim Janik 	# a17a543200e

	plic/: simplify Namespace member admin by using 2 dicts for types and consts

2008-04-01  Tim Janik 	# 0880394b681

	plic/: comment polishing

2008-04-01  Tim Janik 	# a518171155d

	plic/: check enums in records and sequences.

2008-04-01  Tim Janik 	# 80b47b6167d

	plic/: support enums as Decls.TypeInfo objects.

2008-04-01  Tim Janik 	# a327d89c7da

	plic/: support sequence and record as Decls.TypeInfo objects.

2008-04-01  Tim Janik 	# 8e7ceb75731

	plic/: represent types as Decls.TypeInfo objects.

2008-04-01  Tim Janik 	# b61dea7f3b1

	plic/tests/testfail.idl: check keyword assignment

2008-04-01  Tim Janik 	# f03837de9bc

	plic/tests/testfail.idl: added some type checks

2008-04-01  Tim Janik 	# 65ad371b5f7

	plic/: represent enums in Decl.Enum objects

2008-04-01  Tim Janik 	# 0ff924b9d9a

	plic/tests/: check enum parsing errors

2008-04-01  Tim Janik 	# 879742f66bd

	plic/tests/: improved error message

2008-04-01  Tim Janik 	# ef76f07eca2

	plic/plic.g: delete trailing whitespaces

2008-04-01  Tim Janik 	# 88f3b5e737a

	plic/plic.g: turned enum parsing functions into methods.

2008-03-31  Tim Janik 	# 8dc45252ffd

	plic/: started to use structured declaration storage.

	* plic.g: started using Decls.py for structured declaration storage.

	* Decls.py: provide classes to store namespaces and members.

2008-03-31  Tim Janik 	# df8872cab38

	plic/plic.g: fixed debugging printout

2008-03-31  Tim Janik 	# 51e4edb4932

	plic/plic.g: indentation fixes

2008-03-31  Tim Janik 	# a4ba53bc5ad

	plic/: fixed YYGlobals member variables, turned namespace dict uses into methods

2008-03-31  Tim Janik 	# 15a6e5f7c36

	plic/: made global yy a real object and started moving methods to it

2008-03-31  Tim Janik 	# 64176330de7

	plic/: provide input filename for error messages.

2008-03-16  Tim Janik 	# 14127f7b2d5

	plic/plic.g: allow only one field definition per type.

	* plic/plic.g: force a new type specification for each field.

	* plic/tests/testpass.idl: provide a new type for every field.

	* plic/tests/testfail.idl: catch multiple fields per type definitions.

2008-03-05  Tim Janik 	# 6f29b4ce30d

	plic/: allow usage of non-builtin typenames in records and sequences.

	* plic/plic.g: added typename rule to allow dynamic typename checks,
	register builtin types at namespace start. this allowes usage of
	non-builtin typenames in records and sequences.

	* plic/tests/testpass.idl: check nested typenames.

	* plic/tests/testfail.idl: check typename errors.

2008-03-04  Tim Janik 	# 43c6af39de5

	plic/: Added support for sequence types to plic.

	* plic/plic.g: parse single-field sequence types.

	* plic/tests/testpass.idl: test parse a valid sequence type.

	* plic/tests/testfail.idl: test pathologic sequence cases.

2008-03-22  Tim Janik 	# 3c2b30f788d

	tour.xml: fixup to use only valid command chars in on-click commands.

2008-03-22  Tim Janik 	# 0a34266e5ad

	item.cc: warning fixups.

2008-03-22  Tim Janik 	# 1f2af8ccbde

	Fixed string arguments in print() commands.

	* rapicorn/cmdlib.cc: renamed print() and fixed string argument quoting.

	* examples/tour.xml: use print() and properly string args.

2008-03-22  Tim Janik 	# f3b9d5f56fe

	cmdlib.cc: allow ':' inside command names.

2008-03-22  Tim Janik 	# 3e61047ac89

	Changed command argument type from String to StringVector.

	* rapicorn/cmdlib.hh, rapicorn/cmdlib.cc: pass command args as StringVector.

	* rapicorn/commands.hh: pass command args as StringVector.

	* rapicorn/item.hh, rapicorn/item.cc: pass command args as StringVector.

	* rapicorn/window.hh, rapicorn/window.cc:
	* rapicorn/root.hh, rapicorn/root.cc: adapt command methods and signals
	to use StringVector for command argument type.

	* examples/tour.cc:
	* examples/hello.cc: adapt custom_commands() callback.

2008-03-21  Tim Janik 	# 02e982cd56a

	rapicornutils.[hc]*: added lstrip and rstrip.

	* rapicornutils.hh, rapicornutils.cc: added string_lstrip() and
	string_rstrip(). fixed string_strip() to strip all whitespace
	characters.

	* tests/strings.cc: test string_strip, string_lstrip, string_rstrip.

2008-03-18  Tim Janik 	# b554a7b44f2

	Added command string argument scanner.

	* rapicorn/cmdlib.[hc]*: added command_string_unquote().

	* rapicorn/tests/cmdtest.cc: test command_string_unquote().

2008-03-16  Tim Janik 	# bf78bb2749a

	Added command syntax scanner.

	* rapicorn/cmdlib.[hc]*: added function to scan commands with args.

	* rapicorn/tests/cmdtest.cc: test command syntax variants.

	* rapicorn/tests/Makefile.am: build and run cmdtest.cc.

2008-03-12  Tim Janik 	# 8b1feffece3

	texttest.xml: close Window when "Quit" button is pressed.

2008-03-11  Tim Janik 	# fff4467e4a0

	Added command library support.

	* examples/tour.xml: test println() and close() functions.

	* rapicorn/Makefile.am: compile cmdlib.

	* rapicorn/cmdlib.[hc]*: implemented call facility for Item::println,
	Window::close, Application::close.

	* rapicorn/item.cc: support cmdlib function execution.

2008-03-09  Tim Janik 	# 31b3c45c529

	Removed a GCC-3.3 workaround.

2008-03-03  Tim Janik 	# 841bb0626c2

	Converted Image to use Pixmap.

	* rapicorn-core/pixmap.[hc]*. added stock()/add_stock methods to
	register and use stock pixmaps.

	* rapicorn/application.cc: use Pixmap::add_stock() to register
	stock images.

	* rapicorn/image.[hc]*: renamed ::stock-pixmap property. made
	::image_file and ::stock-pixmap write-only properties. removed
	all PixelImage and PNG handling code. changed internals to use
	Pixmap. consolidated public API.

	* examples/tour.xml: use the Image::stock-pixmap property now.

2008-02-26  Tim Janik 	# 715014adf0c

	Fixed .gitignore files.

2008-02-26  Tim Janik 	# 47fb4cde949

	Added GdkP pixdata stream support to Pixmap.

	* rapicorn-core/pixmap.[hc]*: allow alignment specification for Pixmaps.
	Pixmap::row(): provide const variant.
	Pixmap::copy(): added method to copy pixel rectangles.
	Pixbuf::compare(): specify rect coordinates for source area.
	Pixmap::pixstream(): create Pixmaps from decoded GdkP pixdata stream.

	* rapicorn-core/tests/pixmaps.cc: decode sample pixstreams, concatenate
	and compare them against a reference image.

	* rapicorn-core/tests/testpixs.c: moved sample pixstream definitions here.

	* rapicorn-core/tests/testpixs.png: concatenated pixstream reference image.

	* examples/tour.cc: include testpixs.c from new location.

	* examples/testpixs.c: moved to rapicorn-core/tests/.

2008-02-26  Tim Janik 	# 23560326e88

	Fixed and moved text_convert().

	* rapicorn-core/rapicornutils.[hc]*: moved text_convert() from
	rapicorn/utilities.cc here and fixed charset alias lookups.

	* rapicorn-core/pixmap.cc: removed unused function stub.

	* rapicorn-core/tests/strings.cc: added charset conversion tests.

	* rapicorn/utilities.[hc]*: removed buggy charset conversion implementation.

2008-02-26  Tim Janik 	# 70309e5b6e8

	Added Pixbuf and Pixmap to rapicorn-core.

	* rapicorn-core/pixmap.[hc]*: added Pixbuf to allocate, fill and compare
	pixel ARGB buffers. added Pixmap for ref-counting pixel buffers, loading
	and saving of PNG files.

	* rapicorn-core/testutils.[hc]*: provide random ints and doubles for test
	programs.

	* rapicorn-core/rapicorn-core.hh:
	* rapicorn-core/Makefile.am: added pixmap.[hc]*.

	* rapicorn-core/tests/pixmaps.cc: test load, save and compare of Pixmaps.

	* rapicorn-core/tests/Makefile.am: added pixmaps.cc.

2008-02-25  Tim Janik 	# 66a9200b6e3

	Added PNG saving abilities.

	* rapicorn/image.[hc]*: added save_image_file(), implemented PNG saving.

2008-02-25  Tim Janik 	# 871a7e0cb22

	Use <rapicorn-definitions/> as outer XML tag.

	* rapicorn/factory.cc: changed outer XML tag to <rapicorn-definitions/>.

	* examples/tour.xml:
	* examples/hello.xml:
	* examples/scroller.xml:
	* examples/texttest.xml:
	* rapicorn/standard.xml:
	* rapicorn/foundation.xml:
	* rapicorn/tests/factory.xml:
	* rapicorn/tests/testitems.xml: adapted outer XML tag.

2008-02-24  Tim Janik 	# 64b4782493f

	Fixed some argument names in public functions.

2008-02-24  Tim Janik 	# 61b0f6887cc

	pyrapicorn/: Fixes for make distcheck.

	* pyrapicorn/Makefile.am: moved module tests from check to installcheck-local,
	because they depend on an installed module.

2008-02-24  Tim Janik 	# a1dd936ab31

	Fixed docs/imports/ age check for srcdir!=builddir.

2008-02-24  Tim Janik 	# 89c952672e1

	Added support for RAPICORN_VPATH to fix test cases with srcdir!=builddir.

	* rapicorn/application.cc: Application::auto_load(): don't strip last directory
	component of paths ending with a directory name (i.e. "/"). search directories
	from the RAPICORN_VPATH searchpath for relative filenames.

	* rapicorn/tests/Makefile.am: fix test runs with srcdir!=builddir by adding
	VPATH directories to RAPICORN_VPATH.

2008-02-24  Tim Janik 	# 8cf885e8737

	Added string and searchpath splitting, joining and isdirname().

	* rapicornutils.cc, rapicornutils.hh: added Path::isdirname(),
	Path::searchpath_split(), string_join() and string_split().
	the latter supports special whitespace stripping for splitter="".

	* tests/infotest.cc: check isdirname().

	* tests/strings.cc: check string and searchpath splitting and joining.

2008-02-24  Tim Janik 	# b7f60258290

	tests/strings.cc: convert to use new testing framework.

2008-02-24  Tim Janik 	# f33c0c15136

	Application::auto_load(): consolidated implementation.

2008-02-24  Tim Janik 	# f4e811a15f6

	Renamed rapicorn/paintitems.hh and rapicorn/paintitems.cc.

2008-02-24  Tim Janik 	# 1f63699bc82

	rapicornthread.cc: renamed internal function.

2008-02-24  Tim Janik 	# 5c5797de485

	Renamed doxer configure macro to DOXERDEP.

	* docs/imports/Makefile.am:
	* web/Makefile.am:
	* configure.in: renamed DOXRULE to DOXERDEP.

2008-02-24  Tim Janik 	# a5a9b74d52e

	Install NEWS and README and refer to the tutorial.

2008-02-24  Tim Janik 	# 64cd8b0556e

	Added Rapicorn tutorial from testbit.eu.

2008-02-23  Tim Janik 	# ea2893d23a8

	Added online documentation imports.

	* docs/imports/Makefile.am: download Rapicorn tutorial from testbit.eu.

	* configure.in:
	* docs/Makefile.am: build docs/imports/.

2008-02-23  Tim Janik 	# 269fad111ef

	Moved OuterShell definition to standard.xml.

	* examples/hello.xml, rapicorn/standard.xml: moved OuterShell to standard definintions.

	* rapicorn/factory.cc: read standard.xml after foundation.xml.

	* rapicorn/Makefile.am: add standard.xml to zintern files.

2008-02-17  Tim Janik 	# bc757cf8bb5

	Added test mode accessors and verbosity support to test framework.

	* rapicorn-core/rapicorncdefs.h: added RapicornInitSettings::test_verbose.

	* rapicorn-core/rapicornutils.cc: accept --test-verbose (and --verbose).

	* rapicorn-core/tests/infotest.cc: suppress non-verbose test output.

	* rapicorn-core/testutils.hh:
	* rapicorn-core/testutils.cc: support test mode flags, beautified output.

2008-02-12  Tim Janik 	# f7df588e7d6

	application.cc: renamed Application::auto_load(), fixed callers.

2008-02-12  Tim Janik 	# c18ccbd84bd

	Improved vertical ellipsis by showing partial multiline texts.

	* rapicorn/text-pango.cc: paint vertical ellipsis dots outside pango layout.
	for multiline texts, keep all visible lines when underallocated and only
	draw vellipsis in the last line.
	some day, this should be fixed via use of pango_layout_set_height().

2008-02-07  Tim Janik 	# 5779693ff93

	Rename internal propcanonify() to avoid clashes when concatenating .cc files.

2008-02-07  Tim Janik 	# a1dc81678ee

	Fixed Convertible::InterfaceType to be protected.

2008-02-06  Tim Janik 	# 55ebcf08437

	Version update to 8.2.0.

2008-02-06  Tim Janik 	# e5cb7816711

	Changed versioning to YEAR.MONTH.REVISION.

	* configure.in: specify Rapicorn versions as YEAR.MONTH.REVISION.

	* Makefile.am: fix api-check to compare month-based Rapicorn versions.

	* rapicorn-core/Makefile.am: adapt to versioning changes.

	* pyrapicorn/Makefile.am: removed version from dynamic module name
	which complicates initializatoin and is unneccessary, because it resides
	in a versioned directory.

	* pyrapicorn/__init__.py: import unversioned Rapicorn Python module.

2008-02-05  Tim Janik 	# cea5569e086

	Updated README and GCC requirements of configure.in.

	* README: reworded introductionay section. separated feature list
	section. removed GCC bug list from build instructions.

	* configure.in: depend on GCC >= 3.4.6, since older versions are
	definitely known to be too broken for compiling Rapicorn.

2008-02-05  Tim Janik 	# d5d59a1fd49

	Renamed rapicornmarkup.* to markup.*.

2008-02-03  Tim Janik 	# 1d0d9700961

	Started Rapicorn language binding for Python.

	* Makefile.am: added pyrapicorn/.

	* configure.in: build pyrapicorn/Makefile.

	* pyrapicorn/Makefile.am: build Python Rapicorn module,
	install Python module files, perform simple Module test.

	* pyrapicorn/__init__.py: initialize Python Rapicorn module.

	* pyrapicorn/module.cc: created simple glue code example.

2008-02-03  Tim Janik 	# 110362b7c73

	Check for Python 2.4 in configure.in.

	* configure.in: provide four digit release number RAPICORN_RELEASE_NUMBER,
	check for Python 2.4 and ensure Python extension building works.

2008-02-03  Tim Janik 	# 65d3c27c98a

	Guard Deletable destruction against uninitialized threading.

2008-02-03  Tim Janik 	# dae09653a2a

	Dependency fix to rebuild librapicorn when librapicorncore changed.

2008-01-23  Tim Janik 	# 47ce859ff36

	Start test framework migration.

	* rapicorn-core/Makefile.am: build testutils.cc and
	install testutils.hh to be included by test programs.

	* rapicorn-core/tests/infotest.cc: use test utilities from testutils.hh.

	* rapicorn-core/testutils.[hc]*: provide simplistic C++ testing API
	that can be migrated to the glib testing framework in the future.

2008-01-21  Tim Janik 	# 01e6eabfbbf

	Interface heirarchy and property listing cleanups.

	* Makefile.am: check known to be problematic list_properties() implementations.

	* rapicorn/layoutcontainers.[hc]*:
	* rapicorn/paintcontainers.[hc]*:
	* rapicorn/paintgadgets.[hc]*:
	* rapicorn/arrangement*.[hc]*:
	* rapicorn/text-editor.[hc]*:
	* rapicorn/table*.[hc]*:
	* rapicorn/image.[hc]*: moved list_properties() to public interface.

	* rapicorn/container.cc: guard valid list_properties() against checks.

	* rapicorn/slider.[hc]*: provide only SliderArea properties for SliderAreaImpl.

	* rapicorn/text-editor.[hc]*: made markup_text() a regular Editor::Client property.

	* rapicorn/text-pango.[hc]*: removed public interface, just implement Editor::Client.

2008-01-21  Tim Janik 	# 514f5daba71

	blit-mmx.cc: made gradient dithering a compile time option to ease benchmarking.

2008-01-21  Tim Janik 	# 936c33b553e

	Fixed vertical gradient quantization steps.

	* rapicorn/blit-mmx.cc:
	* rapicorn/blitfuncs.[hc]*: pass gradient colors with 24 instead of 8 bit
	precision to avoid vertical quantization artefacts within gradient areas.

	* rapicorn/painter.cc: interpolate colors with 16bit fractional precision,
	and pass 8.16 bit colors to the gradient rendering functions.

2008-01-20  Tim Janik 	# ec29a4d900d

	Defer expensive EMMS cleanups where possible.

	* rapicorn/blitfuncs.[hc]*: added render.clear_fpu() to defer expensive FPU state cleanups.

	* rapicorn/blit-mmx.cc: defer EMMS calls to mmx_clear_fpu().

	* rapicorn/primitives.cc:
	* rapicorn/painter.cc: call render.clear_fpu() at the end of other render function calls.

2008-01-20  Tim Janik 	# a51ef34bb59

	Use MMX for COMBINE_OVER.

	* rapicorn/blit-mmx.cc: added MMX combine_over() implementation.

2008-01-20  Tim Janik 	# db21aff0ca0

	Moved pixel_combine_over() logic to blitfuncs.

	* rapicorn/blitfuncs.[hc]*: added a COMBINE_OVER routine, based the generic
	implementation on Plane::pixel_combine_over_inplace().

	* rapicorn/primitives.cc: removed pixel_combine_over_inplace(), use
	Blit::render.combine_over() instead.

2008-01-20  Tim Janik 	# ce2a5775ca2

	Use MMX for gradient rendering.

	* rapicorn/blit-mmx.cc: implemented line gradient rendering with MMX primitives.

2008-01-20  Tim Janik 	# c8712e829f0

	Added support for CPU specific optimizations.

	* rapicorn/utilities.cc: activate MMX optimizations if possible.

	* rapicorn/blit-mmx.cc: added MMX code boilerplate code.

	* rapicorn/blitfuncs.[hc]*: call rendering functions through a table
	to allow CPU specific optimizations.

	* rapicorn/painter.cc: call rendering function through table.

	* rapicorn-core/rapicorncpu.cc: issue a compile time warning
	for unknown CPU types.

	* rapicorn/Makefile.am: compile with CPU specific flags depending
	on file name and with FPU_FLAGS otherwise.

	* rapicorn-core/Makefile.am: compile with FPU_FLAGS.

	* configure.in: check CPU flags and define FPU_FLAGS, MMX_FLAGS,
	AMD3DNOW_FLAGS, SSE_FLAGS, SSE2_FLAGS, SSE3_FLAGS.

2008-01-20  Tim Janik 	# d9a76fc13f1

	Use only RAPICORN_INTERNALS to special case internal macros.

	* Makefile.decl: removed AM_CFLAGS and AM_CXXFLAGS assignments.

	* rapicorn/Makefile.am:
	* rapicorn-core/Makefile.am: removed _RAPICORN_SOURCE_EXTENSIONS.

	* rapicorn-core/rapicornutils.hh:
	* rapicorn-core/rapicorncdefs.h: only provide internal macro
	definitions if RAPICORN_INTERNALS is defined.

	* rapicorn-core/rapicorntests.h: provide shorthands for check and
	assertion macros used in test programs.

2008-01-19  Tim Janik 	# f4596611cc7

	Use integer arithmetic gradient rendering.

	* rapicorn/blitfuncs.[hc]*: added Blit::render_gradient_line() to render a
	gradient with randomized dithering in integer arithmetic. this is based on
	Painter::fill_line_gradient() but slightly faster and contains some
	coordinate fixes.

	* rapicorn/painter.[hc]*: get rid of Painter::fill_line_gradient(), use
	Blit::render_gradient_line(), properly interpolate gradient end point
	colors.

	* rapicorn/Makefile.am: build blitfuncs.cc.

2008-01-19  Tim Janik 	# 7494e6b20b9

	Fixed redrawing lags on local X11 displays.

	* rapicorn/root.cc: avoid redrawing lags for local displays.

	* rapicorn/viewport.hh: provide Viewport::get_info() to query information
	constant throughout a viewport's lifetime. added local_blitting to
	Viewport::State which indicates fast shared-memory blitting.

	* rapicorn/viewport-gtk.cc: implement get_info() and set state.local_blitting.

2008-01-13  Tim Janik 	# 4d8c5118c20

	rapicornutils.hh: provide StringVector shorthand typedef.

2008-01-13  Tim Janik 	# 7f29f38d63c

	rapicorntests.h: shut up compiler about unused function.

2008-01-13  Tim Janik 	# f3d6f27d173

	Improved STRFUNC and added some string conversions.

	* rapicorn-core/rapicorncdefs.h: changed RAPICORN_SIMPLE_FUNCTION definition to
	provide the function name extracted from __PRETTY_FUNCTION__, this adds
	namespace prefixes to RAPICORN_SIMPLE_FUNCTION and STRFUNC function names.

	* rapicorn-core/rapicornutils.cc: added string_to_cquote() to quote a string
	according to C quoting rules, and string_from_pretty_function_name() which
	extracts the function name part from __PRETTY_FUNCTION__.

	* rapicorn-core/tests/strings.cc: test string_from_pretty_function_name()
	and string_to_cquote().

2007-12-28  Tim Janik 	# 0891dccb2c5

	Force rapicorn-core.hh and rapicorn.hh as the only public include files.

2007-12-28  Tim Janik 	# 72a773b30cd

	Make librapicorn the only installed library.

	* rapicorn-core/Makefile.am: don't install librapicorncore, since it's linked into librapicorn.

	* rapicorn-core/rapicornutils.cc: check that librapicorncore C++ constructors have been called.

	* rapicorn/utilities.cc: check that librapicorn C++ constructors have been called.

2007-12-28  Tim Janik 	# d0cf053e183

	Fixes for make distcheck.

	* configure.in: get rid of unused PERL check, check for XMLLINT unconditionally.

	* rapicorn/Makefile.am: fixed xmllint-check rule.

	* api-check.md5: updates.

2007-12-28  Tim Janik 	# 94287fcca4f

	configure.in: version update to 7.52.

2007-12-28  Tim Janik 	# d8ee33ed592

	Fixups and workarounds for GNU automake-1.10.

	* autogen.sh: removed AUTOMAKE_MAXVERSION check, since 1.10 seems to be
	moderately downwards compatible. pass -Wno-portability option on to
	automake to get rid of useless "GNU Make extension" warnings.

2007-12-28  Tim Janik 	# fbaff72f047

	Removed throw() from public header files (mostly).

	* rapicorn-core/rapicornutils.hh: provide ERROR() and WARNING() shorthands.

	* rapicorn/arrangement.cc: replaced pre-condition exception with WARNING().

	* rapicorn/utilities.hh: removed unused throw_if_null() template.

	* rapicorn/root.hh:
	* rapicorn/container.hh:
	* rapicorn/containerimpl.hh: replaced NULL-checks with ERROR().

	* rapicorn/properties.hh: use WARNING instead of exception for unknown enum values.

2007-12-28  Tim Janik 	# 9e1842ef87e

	Provide CODELOC() macro family, cleanups.

	* rapicorn-core/rapicornutils.cc: moved compiler check here.

	* rapicorn-core/rapicornutils.hh: moved assert.h include and some internal
	macro shorthands here. provide CODELOC() macro family.

	* rapicorn/utilities.hh: removed compiler check from public header, moved
	assert.h and some internal macro shorthands for rapicorn-core macros.

2007-12-28  Tim Janik 	# 99736fef902

	Cleaned up -DRAPICORN_INTERNALS and other build switches.

	* removed -DPARANOID and -DRAPICORN_PRIVATE from code base.
	provide -DRAPICORN_INTERNALS for library compilation only (all other
	components have to get along with only public API).

	* rapicorn-core/rapicornsignal.hh:
	* rapicorn/container.cc: enabled paranoid sanity checks (can still be disabled
	when they show up as performance problems).

	* rapicorn/utilities.hh: moved internal macros and compiler check here.

	* rapicorn/private.hh: moved contents to utilities.hh.

2007-12-28  Tim Janik 	# d98830549b9

	rapicorn-zintern.cc: namespace fixes and cleanups.

2007-12-28  Tim Janik 	# 509ab5a7969

	Added test program to check external compilation.

	* Makefile.am: create, build and run an external test program using installed
	rapicorn files upon installcheck-local (run during distcheck).

2007-12-28  Tim Janik 	# 7714e6c2fdd

	Fixed toplevel include files rapicorn-core.hh and rapicorn.hh.

	* rapicorn-core.hh:
	* rapicorn.hh: added top_srcdir links to top level include files to allow
	uasage of include paths without subdirs (just like external Rapicorn programs).

	* Makefile.am: ship top_srcdir links to top level include files.

	* rapicorn-core/Makefile.am: install core headers in rapicorn*/rapicorn-core/.

	* rapicorn-core/rapicorn-core.hh: renamed from rapicorncore.hh.
	* rapicorn-core/rapicorncore.hh: removed, fixed includes.

	* tools/rapidrun.cc: fixed include to use toplevel rapicorn.hh include.

2007-12-27  Tim Janik 	# e4852b02436

	rapicorn/item.[hc]*: store Item::parent as Container*, adapted callers.

2007-12-23  Tim Janik 	# 3275befcd1f

	Added rapidrun.cc, a utility to show dialogs defined in custom XML files.

2007-12-23  Tim Janik 	# 33bf47f1712

	rapicornconfig.h: fixed version string definition.

2007-12-23  Tim Janik 	# b74a14991fc

	Makefile and configure cleanups.

	* configure.in: sorted out flags variables, build tools/Makefile.

	* rapicorn.pc.in: adapted to variable changes.

	* Makefile.am: added tools/.

	* tools/Makefile.am: new makefile for rapicorn tools.

	* rapicorn/Makefile.am:
	* rapicorn-core/Makefile.am:
	* rapicorn/tests/Makefile.am:
	* rapicorn-core/tests/Makefile.am:
	* examples/Makefile.am: variable and rule cleanup.

	* examples/tour.cc: removed unneeded gtk.h include.
	* examples/Makefile.am: removed unneeded gtk build rules.

2007-12-22  Tim Janik 	# c2517623474

	Ignore build files.

2007-12-22  Tim Janik 	# 9cb625659d7

	Fixed ChangeLog indentation messed up by $(strip).

2007-12-22  Tim Janik 	# 2f500aa570f

	Upgraded plic.g license to GNU GPL v3.

2007-12-22  Tim Janik 	# 26598d79a1d

	Use an AS-IS (but don't sue) license for autogen.sh.

2007-12-22  Tim Janik 	# 2f8d1e87f19

	Added GNU GPL v3.

2007-12-22  Tim Janik 	# 6faa5559b97

	Added missing build files.

2007-12-22  Tim Janik 	# dfc0bcce01a

	Turned PLIC into a standalone package.

	* AUTHORS: added authors.

	* Makefile.am: generate ChangeLog, build in subdirs.

	* README: refer to INSTALL.

	* autogen.sh: run autoconf, aclocal, autoheader, libtool, automake and configure.

	* configure.in: define version number, check for python and doxer.

	* plic/Makefile.am: adapt to versioning.

	* plic/tests/Makefile.am: adapt to versioning.

2007-11-02  Tim Janik 	# 6dd30811a39

	plic/: support --help and --version.

	* plic/plic.g: define PLIC_VERSION, moved program into main(), implemented
	parse_files_and_args() which supports help and version options. provide
	rudimentary help in print_help().

	* plic/Makefile.am: supply package version information to plic.g.

2007-11-20  Tim Janik 	# 6e59370d3a4

	Tweaked version number once more for YEAR.WEEK.REVISION.

	* configure.in: split up release version into year and week at least for
	the library name, since these are easier to parse. use a four digit namespae
	postfix to tell binary incompatible library API releases apart. append versions
	as dot-numbers to library names.

	* Makefile.am: deal with rapicorn year/week release versions.

	* rapicorn-core/Makefile.am: use librapicorncore.RELEASEVERSIONS as lib name.
	turned RAPICORN_CHECK_VERSION() into a 3-argument macro.

	* rapicorn-core/ldscript.map: adapt for 4-digit namespace postfix.

	* rapicorn-core/tests/Makefile.am: link against librapicorncore.

	* rapicorn-core/tests/infotest.cc: check 3 arguments of RAPICORN_CHECK_VERSION().

	* rapicorn/Makefile.am: link against librapicorncore.

	* rapicorn/ldscript.map: adapt for 4-digit namespace postfix.

2007-11-20  Tim Janik 	# 7defa141b18

	NEWS: added items up to 2007-11-19.

2007-11-20  Tim Janik 	# aaad31bfb11

	NEWS: merged latest news lists.

2007-11-19  Tim Janik 	# 1461c8069cb

	NEWS: updates from docs/Old*ChangeLogs for release news.

2007-11-03  Tim Janik 	# 8a2dce3b610

	Painter: replaced rectangle shading implementation with linear gradient.

	* rapicorn/painter.hh, rapicorn/painter.cc: added draw_gradient_rect()
	which fills a rectangle and allows an arbitrary gradient to be defined.
	replaced circular gradient implementation in draw_shaded_rect() with
	a call to draw_gradient_rect() that renders a linear gradient.

	* rapicorn/tests/pixcombine.cc: test Painter::draw_gradient_rect().

2007-11-03  Tim Janik 	# 38dba774cb0

	rapicorn-core/rapicorntests.h: added TASSERT_CMPx() and TRUN() helprs.

2007-11-01  Tim Janik 	# f98d4107c37

	Moved Rapicorn docs to http://testbit.eu/Rapicorn

	* web/Makefile.am:
	* web/main.doxi:
	* web/basics.doxi:
	* web/cmpgtk.doxi:
	* web/roadmap.doxi:
	* web/techbits.doxi:
	* web/versioning.doxi: files deleted, now hosted in testbit wiki.

2007-10-08  Tim Janik 	# d96cb6b9f89

	web/*.doxi: consistently use @top_webdir/*.html uris.

2007-10-08  Tim Janik 	# dcaca2cbfde

	web/Makefile.am: build docs in rapicorn-html/ and upload to testbit.eu

2007-09-28  Tim Janik 	# db8f17a1766

	plic/: fixed installed plic by installing yapps2runtime.py.

	* plic/Makefile.am: prepend ${pyutilsdir} to import search path.
	install and py-compile yapps2runtime.py in ${pyutilsdir}.

	* plic/plic.g: allow import search path extensions.
	fixed hardcoded python version.

2007-09-28  Tim Janik 	# 5d119d8b501

	plic/: install plic, moved tests to plic/tests/.

	* plic/Makefile.am: reworked all rules, build and install plic-VERSION.
	create plic -> plic-VERSION link in bindir upon installation.

	* plic/.gitignore: shut up about build files.

	* plic/tests/Makefile.am: moved all plic test rules here.

	* plic/tests/testfail.idl: moved here from ../testfail.idl.

	* plic/tests/testpass.idl: moved here from ../testpass.idl.

2007-09-28  Tim Janik 	# 234d725b1b5

	plic/: added tests/Makefile.am.

2007-09-28  Tim Janik 	# d6b51450408

	plic/: integrated plic into build process

	* plic/Makefile.am: moved here from plic/Makefile.

2007-09-27  Tim Janik 	# 2fd83b4290c

	plic/plic.1: turned readme text into rudimentary man page

2007-09-27  Tim Janik 	# bceebcd737f

	plic/: start manual page plic.1 from old README

2007-09-27  Tim Janik 	# ad70cc792be

	plic/: skip ChangeLog generation

2007-09-17  Tim Janik 	# bb4b4eda03c

	configure.in: updated version to 738.0.

2007-09-17  Tim Janik 	# be5ce952128

	web/definitions.doxi: provide 'checkmark' alias.

2007-09-16  Tim Janik 	# 3c32152054b

	web/: published API Reference docs.

2007-09-16  Tim Janik 	# eaffcc564d6

	Split documentation builds into core & gui.

2007-09-16  Tim Janik 	# cb70fcd74aa

	web/definitions.doxi: make links TOP_WEBDIR-relative to fix rdocu links.

2007-09-16  Tim Janik 	# a85feadaaba

	rapicorn_init_core: slight cleanups, added documentation

2007-09-16  Tim Janik 	# 9c3111f62af

	rapicorn-core/rapicorncore.hh: sorted include statements

2007-09-13  Tim Janik 	# 9b696cb623a

	Support horizontal text field scrolling.

	* rapicorn/text-pango.cc: introduced horizontal scroll offset for text layouts
	that extend beyond the visible area. adjust the scroll position from
	size_allocate() and mark2cursor(). fixed cursor positioning in
	render_cursor_gL(). account for the scroll offset in mark_to_coord().

2007-09-12  Tim Janik 	# 3e3f32856a9

	rapicorn/text-editor.cc: pass through Ctrl+FocusKey from text editor.

2007-09-12  Tim Janik 	# 15c0738d1d4

	Simplified focus key handling.

	* events.hh, events.cc: added key_value_to_focus_dir() and key_value_is_focus_dir().

	* root.cc, rootimpl.hh: reworked handle_focus_key() into move_focus_dir() by using
	key_value_to_focus_dir(), eliminating double listing of focus keys.

2007-09-11  Tim Janik 	# 29de8ec5cf7

	Fixups for GdkEvent -> Rapicorn::event translations.

	* rapicorn/viewport-gtk.cc: fixed extraction of X time, coordinates and
	keyboard modifiers from events in rapicorn_viewport_event_context().
	ignore events that are known to deliver bogus data. support coordinate
	extraction from parent and child windows with translate_along_ancestry(),
	a new function for GdkWindow coordinate translation.

2007-09-10  Tim Janik 	# b4d8862d3e9

	text-pango.cc: postfixed function '_gL' which require an acquired Gtk+ lock.

2007-09-10  Tim Janik 	# 5c69f57313b

	Fixed key-error beeps for text input.

	* rapicorn/text-editor.cc: fixed insert_literally() to return whether
	a key was actually inserted. notify_key_error() from handle_event() for
	unhandled keys (non-insert and non-movement keys).

2007-09-10  Tim Janik 	# 4c31b4683a7

	Support numeric keypap input for numbers and special characters.

	* rapicorn/key2utf8.cc: added keypad codes with unicode equivalents to
	the keysymtab table. preserved sorting for binary lookups.

2007-09-10  Tim Janik 	# 74fe39cb8cc

	Fixed modifier and accelerator checks.

	rapicorn/events.hh, rapicorn/events.cc:
	key_value_is_modifier(): don't recognize non-accelerators as
	modifiers, only succeed on real X modifiers.
	key_value_is_accelerator(): new function, return false for
	non-accelerator keys or for modifiers.

2007-09-10  Tim Janik 	# 20061fc6c0f

	Updated API checksum.

2007-09-10  Tim Janik 	# dfe03c8b779

	Reworked API checksum to cover rapicorn-core/ and rapicorn/.

	* Makefile.am: moved api-checksum and api-check rules here.

	* rapicorn-core/Makefile.am:
	* rapicorn/Makefile.am: provide api-content rule for api-checksum generation.

	* api-check.md5: moved here.

	* rapicorn/api-check.md5: removed.

	* rapicorn/Makefile.am: cleanups, removed api-checksum and api-check rules.

2007-09-09  Tim Janik 	# c12b9a8c536

	examples/hello.xml: center the hello-world dialog contents when maximized.

2007-09-09  Tim Janik 	# 6e1e2e6d5c0

	Removed property defaults.

	* Removed property defaults from property constructors, accessor and from all
	gadgets because:
	a) initial property values can only be accurately queried from live instances;
	b) properties introduced in abstract base classes can't provide consistent
	   default information for all possible derived types;
	c) duplicating property defaults in instance initializers and property
	constructors is error prone.

2007-09-10  Tim Janik 	# 7146179252d

	Fixes for make distcheck.

	* Makefile.am: ship rapicorn.pc.in with tarballs.

	* configure.in: version upgrade to 737.0.

	* rapicorn-core/Makefile.am: removed obsolete rules and files.

	* rapicorn/Makefile.am: fixed dependencies, don't ship api-check.md5.

	* rapicorn/api-check.md5: update.

2007-09-10  Tim Janik 	# 00de482c767

	TODO: removed, moved todo items elsewhere.

2007-09-09  Tim Janik 	# 6dfb1d34ae6

	foundation.xml: provide ScrollArea definition.

	* rapicorn/foundation.xml: moved ScrollArea definition here.

	* examples/scroller.xml: removed ScrollArea definition, cleanups.

2007-09-09  Tim Janik 	# 357765638af

	Fixups for ScrollArea and Alignment.

	* examples/scroller.xml: properly namespace internal scroll gadgets. made
	ScrollArea inherit Alignment and removed hardcoded test sizes. give the
	main test shell a suitable default size.

	* rapicorn/layoutcontainers.cc: changed Alignment to scale its child by
	default, so adding an unchanged stock Alignment has no size effects.

2007-09-09  Tim Janik 	# c8add03d1fc

	foundation.xml: sorted definitions alphabetically.

2007-09-09  Tim Janik 	# 7e5b1d89036

	Completed rapicorn-core split, everything builds and passes.

	* configure.in: build rapicorn-core/ with tests.

	* Makefile.am: build rapicorn-core/.

	* docs/Makefile.am: adapted globs for rapicorn-core/.

	* rapicorn-core/Makefile.am: build rapicorn core library and tests.

	* rapicorn-core/*.[hc]*: fixed includes for rapicorn-core/.

	* rapicorn-core/tests/Makefile.am: build rapicorn core tests.

	* rapicorn-core/tests/*.[hc]*: fixed includes for rapicorn-core/.

	* rapicorn-core/tests/markup.cc: removed GUI tests.

	* rapicorn/Makefile.am: build against rapicorn core library, build tests.

	* rapicorn/*.[hc]*: fixed includes.

	* rapicorn/tests/Makefile.am: build rapicorn GUI tests.

	* rapicorn/tests/*.[hc]*: fixed includes.

	* rapicorn-core/tests/.gitignore:
	* rapicorn/tests/.gitignore:
	* rapicorn-core/.gitignore:
	* rapicorn/.gitignore: adjusted ignore files for file moves.

2007-09-09  Tim Janik 	# a92533f763e

	rapicorn-core: split off rapicorn core files.

	* rapicorn-core/: moved rapicorn core files here.

	* rapicorn/: removed core files.

	* rapicorn-core/tests/: moved core tests here.

	* rapicorn/tests/: moved GUI tests here.

	* tests/: removed test files.

2007-09-09  Tim Janik 	# 4b3520a18de

	Factory: refactored GadgetDef/ChildGadget, fixed slider button size.

	* rapicorn/factory.cc: split up Gadget structure into GadgetDef for gadget
	definitions and ChildGadget for children used in a definition.
	(call_gadget): use custom arguments of the real gadget definition, this
	fixes child gadgets not supporting argument definitions.

	* rapicorn/foundation.xml: set center-child="0" on the buttons containing the
	arrows of hslider/vslider, so the arrow inside the buttons are expanded.

2007-09-09  Tim Janik 	# b787e5a20fc

	Factory: apply arguments after inheritance.

	* rapicorn/factory.cc: apply gadget arguments after inheriting,
	some cleanups and simplifications.

	* tests/factory.xml:
	* tests/factory.cc: disabled debugging printouts, test argument
	assignments during inheritance.

2007-09-09  Tim Janik 	# 557c4b2f6cc

	web/: don't build website tarball by default (too expensive)

2007-09-09  Tim Janik 	# 834c1fad4b6

	Factory: improve error messages for gadgets from foundation.xml

2007-09-05  Tim Janik 	# 76a9e5e0618

	Adaptions for rapicorn.org move.

	* web/Makefile.am: adapted upload rule to require ssh Host definition.

	* web/main.doxi: adjusted download URLs for http instead of ftp.

2007-08-26  Tim Janik 	# 4c30f3ddd7d

	tests/factory.cc: added factory test program to test gadget creation specifics.

2007-08-26  Tim Janik 	# abd2f96a639

	Root: provide find_item() to access an item of the hierarchy.

2007-08-26  Tim Janik 	# 0b222b51c2d

	TestItem: added accu and accu_history for set_property() order tests.

2007-08-26  Tim Janik 	# d14e1b5926d

	Renamed foundation.xml.

2007-08-24  Tim Janik 	# cd8d0d740d2

	Cleanups, fixed typos.

2007-08-24  Tim Janik 	# 8082815e671

	Removed obsolete files.

2007-08-24  Tim Janik 	# e98b88c9fce

	examples: added Hello World!

	* examples/hello.cc: added simple hello-world example.
	* examples/hello.xml: added hello-world GUI defs.

	* examples/Makefile.am: added hello.cc, hello.xml, cleanups.

2007-08-24  Tim Janik 	# 6dfccb15561

	Factory: allow uncentered, expanded button children.

2007-08-24  Tim Janik 	# 38850553e0e

	Factory: fixed custom argument lookups.

	* rapicorn/factory.cc (call_gadget): allways allow custom argument lookups, even
	if not explicitely specified as call argument.

2007-08-24  Tim Janik 	# a8383989d13

	rapicorn/evaluator.*: added debug_dump() helper.

2007-08-23  Tim Janik 	# 719d8148f21

	Root: fixed event loop handling on viewport destruction and plugged leak.

	* rapicorn/root.cc:
	dispatch_win_delete_event(): handle WIN_DELETE exactly like destroy_viewport().
	(draw_now): plugged Plane object leak.
	(destroy_viewport):
	(create_viewport):
	(RootImpl): keep event loop source non-exitable while the viewport is on screen.

	* rapicorn/rootimpl.hh: ensure viewport lifetime is limited to event loop
	source lifetime.

	* rapicorn/viewport-gtk.cc (blit_plane): simplified Plane deletion.

2007-08-21  Tim Janik 	# 3da24ebe6ea

	web/versioning.doxi: Describe versioning scheme.

	* Makefile.am: relay site-preview rule.

	* web/cmpgtk.doxi: title fixup.

	* web/definitions.doxi:
	* web/Makefile.am: added versioning.html.

	* web/techbits.doxi: title fixups, added links, mention versioning.

	* web/versioning.doxi: describe Rapicorn's versioning scheme.

2007-08-21  Tim Janik 	# 29d31088413

	Completed Birnet -> Rapicorn move with file renames.

	* tests/*.cc:
	* rapicorn/*: renamed all files from birnet* to rapicorn*.

2007-08-21  Tim Janik 	# 683f343592f

	Renamed remaining birnet symbols to rapicorn.

	* Makefile.am: removed birnet/ api check.

	* rapicorn/Makefile.am:
	* Makefile.decl: renamed _RAPICORN_SOURCE_EXTENSIONS.

	* tests/Makefile.am: renamed RAPICORN_LOG_DOMAIN.

	* configure.in: renamed cache variables.

	* rapicorn/birnetutils.hh:
	* rapicorn/birnetutils.cc: renamed birnet_init() to rapicorn_init_core().

	* tests/datalist.cc:
	* tests/evaltest.cc:
	* tests/infotest.cc:
	* tests/items.cc:
	* tests/markup.cc:
	* tests/math.cc:
	* tests/pixcombine.cc:
	* tests/primitives.cc:
	* tests/properties.cc:
	* tests/region.cc:
	* tests/shaderect.cc:
	* tests/signal.cc:
	* tests/sorting.cc:
	* tests/strings.cc:
	* tests/systest.cc:
	* tests/testitems.cc:
	* tests/threads.cc:
	* tests/walker.cc:
	* tests/xmltest.cc:
	* rapicorn/birnetcdefs.h:
	* rapicorn/birnetcpu.cc:
	* rapicorn/birnetcpu.hh:
	* rapicorn/birnetdebugtools.hh:
	* rapicorn/birnetmarkup.hh:
	* rapicorn/birnetmath.hh:
	* rapicorn/birnetmsg.cc:
	* rapicorn/birnetmsg.hh:
	* rapicorn/birnetsignal.hh:
	* rapicorn/birnettests.h:
	* rapicorn/birnetthread.cc:
	* rapicorn/birnetthread.hh:
	* rapicorn/birnetthreadimpl.cc:
	* rapicorn/birnetutf8.hh:
	* rapicorn/birnetutils.cc:
	* rapicorn/birnetutils.hh:
	* rapicorn/birnetxml.hh:
	* rapicorn/birnet-zintern.cc:
	* rapicorn/rapicorncore.hh:
	* rapicorn/utilities.cc:
	* rapicorn/viewport-gtk.cc: renamed all remaining birnet symbols to rapicorn.

2007-08-21  Tim Janik 	# 378713a5aec

	Renamed Birnet namespace to Rapicorn namespace.

	* acrapicorn.m4: fixed comment.

	* rapicorn/Makefile.am: removed Birnet namespace alias.

	* rapicorn/ldscript.map: removed Birnet symbol exports.

	* rapicorn/utilities.hh: removed needless wrapper and using clauses.

	* tests/datalist.cc:
	* tests/infotest.cc:
	* tests/markup.cc:
	* tests/math.cc:
	* tests/pixcombine.cc:
	* tests/shaderect.cc:
	* tests/signal.cc:
	* tests/sorting.cc:
	* tests/strings.cc:
	* tests/systest.cc:
	* tests/threads.cc:
	* tests/xmltest.cc:
	* rapicorn/birnet-zintern.cc:
	* rapicorn/birnetcpu.cc:
	* rapicorn/birnetcpu.hh:
	* rapicorn/birnetdebugtools.cc:
	* rapicorn/birnetdebugtools.hh:
	* rapicorn/birnetmarkup.cc:
	* rapicorn/birnetmarkup.hh:
	* rapicorn/birnetmath.cc:
	* rapicorn/birnetmath.hh:
	* rapicorn/birnetmsg.cc:
	* rapicorn/birnetmsg.hh:
	* rapicorn/birnetsignal.cc:
	* rapicorn/birnetsignal.hh:
	* rapicorn/birnettests.h:
	* rapicorn/birnetthread.cc:
	* rapicorn/birnetthread.hh:
	* rapicorn/birnetthreadimpl.cc:
	* rapicorn/birnetutf8.cc:
	* rapicorn/birnetutf8.hh:
	* rapicorn/birnetutils.cc:
	* rapicorn/birnetutils.hh:
	* rapicorn/birnetxml.cc:
	* rapicorn/birnetxml.hh:
	* rapicorn/factory.cc:
	* rapicorn/primitives.hh:
	* rapicorn/rapicorncore.hh:
	* rapicorn/text-editor.cc:
	* rapicorn/text-pango.cc: renamed Birnet namespace to Rapicorn namespace.

2007-08-21  Tim Janik 	# c62a3433b89

	Renamed Birnet structures to Rapicorn structures.

	* birnetcdefs.h:
	* birnetcpu.cc:
	* birnetcpu.hh:
	* birnetmarkup.cc:
	* birnetmarkup.hh:
	* birnetsignal.cc:
	* birnetsignal.hh:
	* birnetsignalslot.hh:
	* birnetsignaltemplate.hh:
	* birnettests.h:
	* birnetthread.cc:
	* birnetthread.hh:
	* birnetthreadimpl.cc:
	* birnetutf8.cc:
	* birnetutf8.hh:
	* birnetutils.cc:
	* birnetutils.hh:
	* birnetxml.cc:
	* birnetxml.hh:
	* regionimpl.c:
	* regionimpl.h: renamed Birnet* structures to Rapicorn*.

2007-08-20  Tim Janik 	# a819ab01844

	rapicorn/Makefile.am: alias Birnet namespace to Rapicorn.

2007-08-20  Tim Janik 	# 7615dc64937

	Renamed BIRNET -> RAPICORN.

	* rapicorn/Makefile.am:
	* configure.in: removed BIRNET version, namespace and include setup.
	define RAPICORN configure substitutions.

	* rapicorn/ldscript.map: adapted symbols exports to unversioned Birnet.

	* tests/infotest.cc:
	* tests/primitives.cc:
	* tests/systest.cc:
	* tests/threads.cc:
	* rapicorn/application.hh:
	* rapicorn/birnet-zintern.cc:
	* rapicorn/birnetcdefs.h:
	* rapicorn/birnetcpu.cc:
	* rapicorn/birnetdebugtools.hh:
	* rapicorn/birnetmarkup.cc:
	* rapicorn/birnetmarkup.hh:
	* rapicorn/birnetmath.hh:
	* rapicorn/birnetmsg.cc:
	* rapicorn/birnetmsg.hh:
	* rapicorn/birnetsignal.hh:
	* rapicorn/birnetsignaltemplate.hh:
	* rapicorn/birnettests.h:
	* rapicorn/birnetthread.cc:
	* rapicorn/birnetthread.hh:
	* rapicorn/birnetthreadimpl.cc:
	* rapicorn/birnetutf8.cc:
	* rapicorn/birnetutf8.hh:
	* rapicorn/birnetutils.cc:
	* rapicorn/birnetutils.hh:
	* rapicorn/container.cc:
	* rapicorn/container.hh:
	* rapicorn/events.cc:
	* rapicorn/events.hh:
	* rapicorn/factory.hh:
	* rapicorn/image.hh:
	* rapicorn/item.hh:
	* rapicorn/loop.cc:
	* rapicorn/loop.hh:
	* rapicorn/paintcontainers.hh:
	* rapicorn/paintgadgets.hh:
	* rapicorn/primitives.hh:
	* rapicorn/private.hh:
	* rapicorn/properties.hh:
	* rapicorn/region.cc:
	* rapicorn/region.hh:
	* rapicorn/regionimpl.h:
	* rapicorn/root.cc:
	* rapicorn/utilities.hh:
	* rapicorn/viewport-gtk.cc:
	* rapicorn/viewport.hh: renamed BIRNET macros to RAPICORN.

2007-08-20  Tim Janik 	# d3a13b63e1f

	docs/Makefile.am: fixed rapicornconfig.h reference.

2007-08-20  Tim Janik 	# 7aaab21a291

	Updated .gitignore files.

2007-08-20  Tim Janik 	# ccb5e0d69e2

	Makefile.am: fixed $GIT_DIR expansion.

2007-08-20  Tim Janik 	# 48df1627db2

	rapicorn/: fixed missing birnet* file generations.

	* rapicorn/Makefile.am: generate rapicornconfig.h instead of
	rapicornconfig.hh. added birnetconfig.h portions to
	rapicornconfig.h. generate birnetsignalvariants.hh.

	* rapicorn/rapicorncore.hh: renamed from birnet.hh.

	* rapicorn/birnet-zintern.cc:
	* rapicorn/birnetcdefs.h:
	* rapicorn/birnettests.h:
	* rapicorn/birnetthreadimpl.cc:
	* rapicorn/rapicorncore.hh:
	* rapicorn/utilities.hh:
	* tests/math.cc: fixed includes.

2007-08-20  Tim Janik 	# 67368a76c1c

	rapicorn/birnetmarkup.cc: documentation fixes.

2007-08-20  Tim Janik 	# 34b34069234

	TODO: updates.

2007-08-20  Tim Janik 	# b34c060bbd0

	tests/: fixed build setup for birnet sources.

	* tests/Makefile.am: build birnet* sources.

	* tests/markup.cc: merged basemarkup.cc and textmarkup.cc.

	* tests/basemarkup.cc, tests/textmarkup.cc: removed.

	* tests/data.cc:
	* tests/datalist.cc:
	* tests/evaltest.cc:
	* tests/infotest.cc:
	* tests/items.cc:
	* tests/markup.cc:
	* tests/math.cc:
	* tests/pixcombine.cc:
	* tests/primitives.cc:
	* tests/properties.cc:
	* tests/region.cc:
	* tests/shaderect.cc:
	* tests/signal.cc:
	* tests/sorting.cc:
	* tests/strings.cc:
	* tests/systest.cc:
	* tests/testitems.cc:
	* tests/threads.cc:
	* tests/walker.cc:
	* tests/xmltest.cc: fixed include paths.

2007-08-20  Tim Janik 	# 45caafe6050

	rapicorn/ldscript.map: export VTT* symbols, needed with GCC-4.1.2.

2007-08-20  Tim Janik 	# 9bdd61a2406

	rapicorn/birnetmsg.cc: fixed NULL domain handling.

	* rapicorn/birnetmsg.cc (Msg::display_parts): handle NULL domains gracefully.

2007-08-20  Tim Janik 	# 79e888ec352

	rapicorn/: fixed build setup for birnet sources.

	* rapicorn/Makefile.am: build birnet* sources.

	* rapicorn/birnet-zintern.cc: replaced birnet library calls to operate
	without being linked against birnet/rapicorn (needed as build tool).

	* rapicorn/birnet.hh:
	* rapicorn/birnetcdefs.h:
	* rapicorn/birnetcpu.hh:
	* rapicorn/birnetdebugtools.hh:
	* rapicorn/birnetmarkup.hh:
	* rapicorn/birnetmath.hh:
	* rapicorn/birnetmsg.hh:
	* rapicorn/birnetsignal.hh:
	* rapicorn/birnettests.h:
	* rapicorn/birnetthread.hh:
	* rapicorn/birnetutf8.hh:
	* rapicorn/birnetutils.hh:
	* rapicorn/birnetxml.hh:
	* rapicorn/regionimpl.h: fixed include paths.

2007-08-19  Tim Janik 	# ab2c4de9918

	Merged configure.inc into configure.in.

	* configure.in: merged configure.inc definitions.

	* Makefile.am: adapt to configure.in changes.

	* configure.inc: removed, merged into configure.in.

2007-08-19  Tim Janik 	# 69ecf2f443d

	Moved birnet/ files to rapicorn/.

2007-08-19  Tim Janik 	# 355d918da4a

	configure.in: Rapicorn version update to 733.0.

2007-08-19  Tim Janik 	# c0ffeac5959

	Merge branch 'master' of http://birnet.org/git/birnet

2007-08-19  Tim Janik 	# 37f2c5fe83c

	ChangeLog: switched to git-only ChangeLog.

	* Makefile.am: fixed ChangeLog generation to cope with non-symbolic git HEADs.

	* docs/OldRapicorn.ChangeLog: moved old ChangeLog here.

2007-08-19  Tim Janik 	# 3bce7ed5fdf

	birnet/examples/mkhost.sh: fixed ChangeLog dependencies.

2007-08-19  Tim Janik 	# 4ff3eef9983

	TODO: whitespaces.

2007-08-19  Tim Janik 	# 8d466f6e782

	TODO: typo fix.

2007-08-19  Tim Janik 	# 5d8d6a7a320

	TODO: fixed typo.

2007-08-16  Tim Janik 	# 66f238e66e9

	birnet/examples/mkhost.sh: Improved ChangeLog generation in Makefile.am.

2007-08-16  Tim Janik 	# cab0cb40927

	birnet/examples/mkhost.sh: fixed Makefile.am to cope with non-symbolic git HEADs.

2007-07-12  Tim Janik 	# 5fb7002fd5a

	Handled outstanding "Gadget" renames.

	* rapicorn.pc: fixed project description.

	* web/techbits.doxi: "Gadget" renames.

2007-07-11  Tim Janik 	# 532e4df90fc

	TODO: added/sorted some todo items

2007-07-10  Tim Janik 	# de3cfc2e682

	TODO: added new plans for example/

2007-07-07  Tim Janik 	# 9c6a5fa96db

	Added roadmap to website.

	* web/roadmap.doxi: introduce current Rapicorn scope,
	started Milestone, Object and Gadget lists.

	* web/style.css: added styles for tables.

	* web/definitions.doxi: added roadmap to index, updated email address.

	* web/Makefile.am: build roadmap.html, added site-preview:, cleaned
	up remote site updates, fixed some dependencies.

2007-07-02  Tim Janik 	# e35d7406d8e

	Improved ChangeLog generation.

	* Makefile.am, OldChangeLog: adapted git-log -> ChangeLog generation to look
	more ChangeLog style, using git 1.5.0 formatting features.

2007-07-02  Tim Janik 	# 7802f2af69b

	Build reference documentation.

	* configure.in: provide rapicornbasedir, rapicorndocsdir, rapicornimagesdir
	and build docs/Makefile.

	* docs/Makefile.am: added rules to extract reference documentaiton from
	source files in preparsed doxer-pickle format.

	* web/definitions.doxi: allow relative paths to the css stylesheet.

	* web/rdocu-template.doxi: template needed for reference documentation generation.

	* web/style.css: fixed spacing for pre, ul, ol, used by reference docs.

	* web/Makefile.am: added rules to build reference documentation as html.

2007-06-30  Tim Janik 	# 18ebc86aa0b

	plic/: Test IDL parser checks.

	* plic.g: added 'record' to keyword list. check enum value names to be
	undefined identifiers. exit with exit_status != 0 on parse errors.

	* testfail.idl: provide invalid idl statements to test parser checks.

	* testpass.idl: renamed from test.idl.

	* Makefile: test testfail.idl line-by-line for invalid idl statements.

2007-06-29  Tim Janik 	# e95f9d0ae81

	plic/: Support simple record fields.

	* plic.g: support builtin variable types Bool/Num/Real/String. support simple
	record field definitions. check for duplicate record fields and empty records.

	* test.idl: added basic record field test.

2007-06-29  Tim Janik 	# aa44ca0c01d

	plic/: Grammar support for record skeletons.

	* plic.g: parse (empty) record definitions.

	* test.idl: test empty record.

2007-06-29  Tim Janik 	# 5723dd9ea37

	plic/: Provide type information for namespace symbols.

	* plic.g: added type information to namespace symbols.
	verify rvalue symbols to be of type Const. store numeric
	enum values in enum definition.

2007-06-28  Tim Janik 	# 80c646aa5e0

	plic/: ChangeLog generation format tweaks.

2007-06-28  Tim Janik 	# 4f8906bcf10

	plic/: Protect keywords.

	* plic.g: protect keywords from redefinitions.

	* test.idl: added comment example about keyword redefinitions.

2007-06-28  Tim Janik 	# 724f63c76eb

	plic/: Got rid of all globals.

	* plic.g: removed all 'global' declarations by referencing the
	fields of a global class.

2007-06-28  Tim Janik 	# 92911550a05

	plic/: Treat enum values as regular constant symbols.

	* plic.g: register new enum values via add_evalue(). enter enum values in
	the global symbol table, properly calculate enum value numbers. misc cleanups.

	* test.idl: fixed symbol clashes. test enum values as symbols.

2007-06-25  Tim Janik 	# 43aa1094340

	plic/: Merged strings with numerical expressions.

	* plic.g: encode strings in quoted form, provide string and number test
	functions and assertions. treat translatable strings with special quotation.
	enumeration_args: moved number/string argument special casing to program logic,
	raise errors if arguments mismatch.
	expression: allow strings in expressions, but don't allow numeric operations
	on them. python catches these already, except for '+' and '%'.
	string/term: allow concatenation of untranslated string-typed constants.
	Parser: pass on AssertionError to python, these indicate programming
	errors, not input data errors.

	* test.idl: added string concatenation test cases and tests for mixed
	number/string constants in enumeration value arguments.

2007-06-25  Tim Janik 	# 53861e4e05f

	plic/: Grammar fixes for full floating point numbers

	* plic.g: fixed float grammar to support fractoinal floats and
	floating point exponents.

	* test.idl: test various float formats.

2007-06-25  Tim Janik 	# 4d3c33e0ea6

	plic/: Catch all yapps errors and warnings.

2007-06-24  Tim Janik 	# a35d226cfdb

	plic/: Grammar extensions for signed numbers and numeric enumeration values.

	* plic.g: suport numerical enumeration value arguments.
	support signed numbers (higher precedence than factors, lower precedence
	than powers).

	* test.idl: test signed numbers and numeric enumeration value args.

2007-06-24  Tim Janik 	# d06ea5b281a

	plic/: Grammer fixes for double-quoted strings.

	* plic.g: fixed regexp for double-quoted strings.

	* test.idl: added mixed string/comment parsing tests.

2007-06-24  Tim Janik 	# 4945452302f

	plic/: Embedd yapps2 runtime, generate ChangeLog, clean: fixes.

	* plic.g: import yapps2runtime.

	* Makefile: build ChangeLog, fixed plic.py generation, added clean:

	* yapps2runtime.py: include the yapps2 runtime (from debian etch),
	so we don't depend on users having yapps2 installed.

2007-06-24  Tim Janik 	# 30c503fac07

	plic/: Added README, tests and build tools.

	* README: very brief intro.

	* Makefile: build and test plic.g.

	* test.idl: test comment types, namespaces, semicolons, constants,
	enumerations and enumeration arguments.

2007-06-24  Tim Janik 	# 5c04df18e5c

	plic/: plic.g: fixed yapps import

2007-06-24  Tim Janik 	# 8e20def955e

	plic/: plic.g: first IDL parser incarnation

	* plic.g: parse namespaces, constant assignments, simple numerical
	expressions and enumerations.

2007-06-24  Tim Janik 	# 3e3ba8a37be

	Big Bang

2007-06-16  Tim Janik 	# 7021bccaf64

	testitems.cc: add comments.

	* tests/testitems.cc: commented event loop interactions in critical test portions.

2007-06-02  Tim Janik 	# d5fc123b13a

	Added 'exitable' concept to loops.

	* rapicorn/application.cc: use loops_exitable().

	* rapicorn/loop.hh, rapicorn/loop.cc: added API to allow
	querying whether loops are exitable.

2007-05-28  Tim Janik 	# a362ef37083

	Simplified loop handling by removing start/quit/stop.

	* rapicorn/root.cc, rapicorn/rootimpl.hh: simplified loop handling code
	by tying loop lifetime to Root lifetime.

	* rapicorn/loop.hh, rapicorn/loop.cc: removed start/running/quit notion
	for loops. added API to kill loop sources.

	* rapicorn/application.cc:
	* tests/primitives.cc:
	* tests/testitems.cc: adapted to loop changes.

2007-05-28  Tim Janik 	# bde6422f36b

	Constrained Window visibility concept: show() closed() close()

	* rapicorn/root.cc, rapicorn/root.hh, rapicorn/rootimpl.hh:
	replaced former show/closed/close/hide by lower level methods
	create_viewport/has_viewport/destroy_viewport.

	* rapicorn/window.cc, rapicorn/window.hh: provide high level
	window interface: show/closed/close (no hide concept atm).

	* tests/testitems.cc: use Window interface for showing.

2007-05-20  Tim Janik 	# 1e7e1ba0b9c

	Text::Editor: warp cursor on mouse clicks

	* rapicorn/text-editor.[hc]*: added mark_to_coord() method to Client interface.
	warp the cursor on button presses via mark_to_coord().

	* rapicorn/text-pango.cc: refactored layout area calculation into its own
	function, implemented mark_to_coord(). slight fixes.

2007-05-20  Tim Janik 	# 9a123383475

	Merge branch 'master' of http://birnet.org/git/birnet

2007-05-20  Tim Janik 	# a1cc6f9bfd5

	birnet/tests/.gitignore: update

2007-05-20  Tim Janik 	# 19fef74f4b0

	birnet/ChangeLog moved to toplevel.

	* birnet/Makefile.am: removed ChangeLog generation rule.

	* birnet/examples/mkhost.sh: auto-delete generated toplevel ChangeLog.
	append toplevel expcludes to .git/info/exclude. create toplevel
	Makefile.am that auto-generates ChangeLog from git commits.

2007-05-20  Tim Janik 	# 3cd5f3282d2

	birnetmarkup.cc: slight error message improvement.

2007-05-20  Tim Janik 	# 22e5a9d1a00

	Updated .gitignore files

2007-05-20  Tim Janik 	# 8841f879ef1

	TextPango: set PangoLayout from XmlNode tree

	* rapicorn/text-pango.cc: parse markup_text into an XmlNode tree, and construct
	the pango layout structures from it. changed outermost tag from <PARA/> to
	<TEXT/>. <TEXT/> tags are now auto-added around markup-text and always ignored.

	* tests/markup.cc: removed explicit <PARA/> tags.

2007-05-20  Tim Janik 	# bdfc8d43922

	TextPango: fixed double -> int conversion warnings

2007-05-20  Tim Janik 	# 4f2fa6fc235

	Merge branch 'master' of http://birnet.org/git/birnet

2007-05-20  Tim Janik 	# e40e9ecc60e

	ChangeLog switched to auto-generated file from GIT commits

2007-05-15  Tim Janik 	# b0e5df16d50

	Root: Collapse highly fragmented expose regions.

	* rapicorn/region.[hc]: count_rects(): provide rectangle count in O(1).

	* rapicorn/root.cc: added collapse_expose_region() and use it.

2007-05-15  Tim Janik 	# 52b48e90d8a

	Fixed rendering segfault.

	* rapicorn/primitives.cc: prevent access to freed memory.

2007-05-18  Tim Janik 	# 0159fa5e6ef

	ChangeLog switched to auto-generated file from GIT commits.

2007-05-17  Tim Janik 	# 3c74b440cec

	Merge branch 'master' of http://birnet.org/git/birnet

2007-05-17  Tim Janik 	# 52724ecb1cc

	Thu May 17 03:32:32 2007  Tim Janik  <timj@gtk.org>

	        * XmlNode implementation.

	        * birnet/birnetxml.[hc]: added bool to accessors for insensitive attributes.
	        added parsed_line()/parsed_char().

	        * birnet/birnetxml.cc: keep reference count from parent to children.
	        made removal of the last child an O(1) operation.

	        * birnet/tests/xmltest.cc: properly reference XmlNode tree root.

	        * birnet/birnetmarkup.hh: extended list of custo, error codes.

	        * birnet/birnetxml.cc: removed bogus class implementation.
	        implemented text() for parent nodes. added attribute and text handling
	        to xml parser. fixed pseudoroot. added first_child() accessor.

	        * birnet/tests/xmltest.cc: added checks for attributes, nested
	        children and text retrival.

	        * birnet/tests/data.cc: extensions for testable assertions.

	        * birnet/Makefile.am: build birnetxml.hh, birnetxml.cc.

	        * birnet/birnet.hh: add birnetxml.hh to public includes.

	        * birnet/birnetxml.hh, birnet/birnetxml.cc: new files, implementing XmlNode.
	        a node is ref-counted and can hold text or children.
	        added parser prototype which creates a an xml node tree from XML markup.

	        * birnet/tests/xmltest.cc: new test program for XmlNode.

	        * birnet/tests/markup.cc: moved test data to data.cc.

	        * birnet/tests/data.cc: moved XML test data from markup.cc here.

	        * birnet/tests/Makefile.am: added xmltest.cc.

2007-04-29  Tim Janik 	# 23d53fb1bea

	web/cmpgtk.doxi: fixed typo

2007-04-13  Tim Janik 	# ff8bccbfdeb

	Fri Apr 13 02:30:48 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/private.hh: catch broken compiler versions as described
	        in the README.

2007-04-13  Tim Janik 	# c37611ef661

	Thu Apr 12 23:26:29 2007  Tim Janik  <timj@gtk.org>

	        * web/techbits.doxi: explain Rapicorn support for arbitrary size
	        negotiations.

	        * web/cmpgtk.doxi: point out Gtk+ resizing hysteresis problems.

2007-04-09  Tim Janik 	# bc90f9b7e71

	README: updated compiler notes.

2007-04-06  Tim Janik 	# 24349e9cd10

	Fri Apr  6 02:13:10 2007  Tim Janik  <timj@gtk.org>

	        * added Rapicorn website + generation rules.

	        * web/main.doxi: added document for website front page.

	        * web/basics.doxi: added document on Rapicorn programming basics.

	        * web/techbits.doxi: added document on Rapicorn technologies.

	        * web/cmpgtk.doxi: added document on Gtk+ related observations.

	        * web/definitions.doxi: common doxer definitions for rapicorn. also
	        at the moment contains the website menu.

	        * web/style.css: website style definitions.

	        * web/rapicorn032.png:
	        * web/rapicorn16.png: rapicorn logo at different sizes.

	        * web/hgradientG.png, web/vgradientG.png: website gradients.

	        * web/Makefile.am: build rules for website tarball.

	        * configure.in: check for availability of doxer.

2007-04-03  Tim Janik 	# 9d681262d71

	brainstormed Popup ideas

2007-04-03  Tim Janik 	# 1ec02ed11b3

	Tue Apr  3 02:59:13 2007  Tim Janik  <timj@gtk.org>

	        * introduced allocatable() property on items. since some items may be
	        added to containers and should not be regularly layed out eventhough
	        they can be visible. this is the intended case for popups.

	        * adapted containers to check children to be allocatable.

	        * rapicorn/containerimpl.hh: provide has_allocatable_child().

	        * rapicorn/item.[hc]*: added allocatable handling. made viewable()
	        a virtual method.

	        * rapicorn/window.[hc]*: renamed visible() to viewable() which directly
	        corresponds to the state of the root item.

	        * rapicorn/root.cc: instead of erroneously reintroducing visible(),
	        reimplement viewable(), taking viewport state into account.

	        * rapicorn/table.cc: removed cruft.

	        * rapicorn/slider.cc: comment fixup.

2007-04-03  Tim Janik 	# 7a992d6a2b9

	Tue Apr  3 01:57:09 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/item.[hc]*: fixed up requisition to use doubles.

2007-04-02  Tim Janik 	# 33c6bd82dbc

	Mon Apr  2 03:01:53 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/text-editor.[hc]*: added request-chars and request-digits
	        properties to allow user specification of the requisition. added
	        text-mode and text-requisition to text editor clients. also supply
	        text-mode and markup-text properties on text editors.

	        * rapicorn/text-pango.[hc]*: removed request-chars and request-digits
	        properties. fixed ellipsization for single-line text mode. implement
	        text_requisition() and renamed TextField to TextLayout.

	        * examples/texttest.xml: use text editor in single-line mode.
	        adapt to removal of request-digits and request-chars fields from TextLayout.

2007-04-01  Tim Janik 	# ee7c31c43a7

	Sun Apr  1 22:00:19 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/text-editor.cc: consolidate cursor movement implementation,
	        added support for Home and End keys.

2007-04-01  Tim Janik 	# cadc583410b

	Sun Apr  1 01:57:03 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/text-pango.[hc]: added request_chars and request_digits
	        properties to TextField to increase the default requisition.
	        fixed missing parenthesis in macro definitions. removed cruft.

	        * examples/texttest.xml: added test for wrapable label.

2007-04-01  Tim Janik 	# a5ff5959d19

	Sun Apr  1 00:42:30 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/enumdefs.hh: removed ELLIPSIZE_NONE because it doesn't
	        indicate a supported ellipsization mode. added TextMode which can
	        be used to select wrapped, ellipsized or single-line layout modes.

	        * rapicorn/text-pango.[hc]*: polished pango unit <-> pixel conversions.
	        implemented layout modes according to text-mode, made ellipsization
	        and wrap mode dependent on text-mode. added public TextField interface
	        (to be moved into a non-pango header) which provides text-mode and
	        markup-text properties.

	        * rapicorn/text-editor.[hc]*: removed .wrap field from paragraph
	        state, since wrapping is determined by text-mode.

2007-03-31  Tim Janik 	# 364cd7fcdd5

	updated GCC caveats notes

2007-03-31  Tim Janik 	# 219e0a1f371

	Sat Mar 31 15:37:29 2007  Tim Janik  <timj@gtk.org>

	        * for some reason, dynamic_cast<&> doesn't work reliably in gcc <= 3.3.5
	        and throws spurious std::bad_cast exceptions where dynamic_cast<*>
	        suceeds.

	        * rapicorn/commands.hh: turned dynamic_cast<&> into dynamic_cast<*>.

	        * rapicorn/events.cc: turned dynamic_cast<&> into dynamic_cast<*>.

	        * rapicorn/factory.cc: turned dynamic_cast<&> into dynamic_cast<*>.
	        improved and polished error messages all over the place.

	        * Makefile.am: check via grepping that our code doesn't contain
	        dynamic_cast<&> statements.

2007-03-31  Tim Janik 	# dc5ec1c771e

	Fri Mar 31 23:42:55 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/events.[hc]*: rewritten for simplicity, turned exceptions
	        into errors. got rid of public friend declarations.
	        made event type const.

	        * rapicorn/root.cc: fixed event struct modifications.

2007-03-28  Tim Janik 	# 6b55c10a053

	Wed Mar 28 03:02:43 2007  Tim Janik  <timj@gtk.org>

	        * configure.in: updated version to 713.0.
	        adapted gettext domain name. provided versioned includedir
	        for birnet/.

	        * Makefile.am: added release version to .pc file.

	        * */Makefile.am: concatenated release version to library name.

	        * rapicorn/Makefile.am: moved installed header files into a versioned
	        rapicorn dir. moved installation location for the toplevel
	        include file, so users only need to include <rapicorn.hh>.
	        made api-checksum: and api-check: rules phony.
	        removed fastmath cruft.

2007-03-28  Tim Janik 	# 7614b227b92

	Wed Mar 28 02:00:38 2007  Tim Janik  <timj@gtk.org>

	        * configure.inc: update to release version 713. allow specification
	        of parent includedir via BIRNET_INCLUDEDIR.

	        * Makefile.am: install header files in $(BIRNET_INCLUDEDIR)/birnet/.
	        made api-checksum: and api-check: rules phony.

2007-03-28  Tim Janik 	# 9494fa0d65f

	Merge branch 'master' of http://birnet.org/git/birnet

2007-03-16  Tim Janik 	# 76210507309

	Fri Mar 16 00:23:32 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/window.hh, rapicorn/window.cc: added ref/unref to support
	        signal emissions on Window objects. added .commands member which
	        allows signal connections with '+=' and '-='.

	        * rapicorn/root.cc: issue a warning if a Root is packed into
	        a container. added signals for custom command handling.

	        * rapicorn/item.hh, rapicorn/item.cc: removed some exceptions.
	        added virtual method for custom command handling.

	        * examples/tour.cc: added custom_commands() test callback,
	        fixed double-root creation.

2007-03-14  Tim Janik 	# a924cdc6949

	Wed Mar 14 01:24:41 2007  Tim Janik  <timj@gtk.org>

	        * configure.in: updated version to 711.0.

	        * distcheck fixes.

2007-03-14  Tim Janik 	# f2db2e1873c

	Wed Mar 14 00:34:41 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/application.hh, rapicorn/application.cc: introduced
	        Application singleton which provides a number of commonly used
	        convenience API functions for initialization, bootup code,
	        event loop execution and window handling.

	        * rapicorn/utilities.hh, rapicorn/utilities.cc: cleaned up
	        global lock API and adapted callers.

	        * rapicorn/window.hh, rapicorn/window.cc: removed OwnedMutex handling
	        from Window, since windows now exist within the global Rapicorn lock.

	        * rapicorn/loop.hh, rapicorn/loop.cc: fixed wakeup pipe handling
	        in the loop execution logic, there's only one pipe required now.

	        * rapicorn/root.cc: avoid uneccessary plane transfers if win size
	        events are pending.

	        * rapicorn/factory.hh, rapicorn/factory.cc: fixed fd-leak in XML parser
	        and changed parsing logic to return io errors. removed must_parse_file()
	        which is superseded by the new Application API.

	        * rapicorn/image.hh, rapicorn/image.cc: changed pixstream registration
	        to not rely on const static strings.

	        * examples/tour.cc, examples/tour.xml: changed XML definitions to
	        provide a complete dialog with Root item.

	        * examples/tour.cc:
	        * examples/scroller.cc:
	        * examples/texttest.cc: adapted to use Application:: API.

	        * tests/testitems.cc:
	        * tests/primitives.cc:
	        * tests/markup.cc:
	        * tests/items.cc: adapted to use Application:: API and fixed mutex handling.

2007-03-14  Tim Janik 	# f740b2ed200

	Sat Mar 10 18:19:42 2007  Tim Janik  <timj@gtk.org>

	        * examples/tour.cc: removed inlined pixstreams. include testpixs.c
	        instead. removed obsolete timer/loop test code.

	        * examples/testpixs.c: moved test pixstreams here.

2007-03-10  Tim Janik 	# 267b7166da9

	copied examples/tour.cc to examples/testpixs.c

2007-03-10  Tim Janik 	# 3c33910e372

	Merge branch 'master' of http://birnet.org/git/birnet

2007-03-10  Tim Janik 	# f4973861dda

	Sat Mar 10 01:20:26 2007  Tim Janik  <timj@gtk.org>

	        * birnet/birnetutils.[hc]*: handle negative errnos in string_from_errno().
	        removed useless const from returned strings. added Path:: utility cwd(),
	        and constants dir_separator and searchpath_separator.

	        * birnet/tests/infotest.cc: check dir_separator, searchpath_separator
	        and cwd().

2007-03-09  Tim Janik 	# 80410de68ff

	Fri Mar  9 23:12:16 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/api-check.md5: store header file md5 hash to detect changes.

2007-03-09  Tim Janik 	# 335d8b0c785

	Fri Mar  9 23:09:19 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/factory.xml: renamed from rapicorn.xml.

2007-03-09  Tim Janik 	# 5f217619014

	Fri Mar  9 22:43:26 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/root*.[hc]*: removed obsolete OwnedMutex member.

	        * rapicorn/rapicorn.xml: fixed testItem definition to use CamelCase.

	        * tests/testitems.cc, tests/testitems.xml: slight fixes.
	        added test for a window build purely with C++ code.

2007-03-08  Tim Janik 	# 3536a02e9d1

	Fri Mar  9 16:31:05 2007  Tim Janik  <timj@gtk.org>

	        * container.cc: remove all children in pre_finalize(), since reference
	        counting is still allowed here (not in finalize()).

2007-03-08  Tim Janik 	# fd3c352f974

	Fri Mar  9 00:07:39 2007  Tim Janik  <timj@gtk.org>

	        * changed Rapicorn to live in one global lock: rapicorn_mutex.

	        * rapicorn/loop.hh, rapicorn/loop.cc: moved loop iteration to
	        single-thread functions EventLoop::iterate_loops() and
	        EventLoop::quit_loops().

	        * rapicorn/testitem.[hc]*: added seen_test_items() to verify
	        that display + assertion checks have been performed.

	        * tests/primitives.cc: adapted to new event loop API, disabled
	        async loop test.

	        * tests/testitems.cc: use loop testing API and assert actual
	        display of TestItem.

2007-03-08  Tim Janik 	# df30c7bc4ed

	Thu Mar  8 01:33:45 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/loop.hh, rapicorn/loop.cc: renamed MainLoop to EventLoop.

2007-03-06  Tim Janik 	# 02a1cd2e78f

	Tue Mar  6 23:58:26 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/loop.hh, rapicorn/loop.cc: added loop source recursion
	        concept to MainLoop::Source API.
	        refactored loop processing into prepare/poll/check/dispatch methods
	        to allow multi-loop poll().

2007-03-09  Tim Janik 	# 21d0030fdb9

	Fri Mar  9 02:49:51 2007  Tim Janik  <timj@gtk.org>

	        * configure.in: updated version to 710.0, based on year + week number.

	        * rapicorn/Makefile.am: added md5 hash api version check. the check
	        fails if headers are changed while REVISION=0 and RELEASE are outdated.

	        * rapicorn/Makefile.am: execute rapicorn api-check upon distcheck.

2007-03-09  Tim Janik 	# f252d4d2a65

	Makefile.am: renamed api-check:-rule

2007-03-09  Tim Janik 	# 8d658a90bc1

	Merge branch 'master' of http://birnet.org/git/birnet

2007-03-06  Tim Janik 	# a16cde6b90d

	whitespace fixup

2007-03-06  Tim Janik 	# cc8ebe6c84f

	removed debugging traces

2007-03-09  Tim Janik 	# 97c9b34cb6d

	Fri Mar  9 02:41:00 2007  Tim Janik  <timj@gtk.org>

	        * configure.inc: updated version to 710.0, based on year + week number.

	        * Makefile.am: changed md5 hash version check. the check now fails
	        if headers are changed, REVISION=0 and RELEASE is outdated.

	        * configure.inc: removed BIRNET_RELEASE_CHECKSUM.

	        * api-check.md5: store header file md5 hash to detect changes.

2007-03-09  Tim Janik 	# dfeeb373aae

	Fri Mar  9 01:55:35 2007  Tim Janik  <timj@gtk.org>

	        * configure.inc: updated version to 710.0.

	        * Makefile.am: changed md5 hash version check. the check now fails
	        if headers are changed, REVISION=0 and RELEASE is outdated.

	        * configure.inc: removed BIRNET_RELEASE_CHECKSUM.

	        * api-check.md5: store header file md5 hash to detect changes.

2007-03-09  Tim Janik 	# dc9663f244c

	ChangeLog paths fixes

2007-03-08  Tim Janik 	# 80778d03c17

	Thu Mar  8 03:40:15 2007  Tim Janik  <timj@gtk.org>

	        * birnet/birnetutils.hh, birnet/birnetutils.cc: added
	        ReferenceCountImpl::pre_finalize() method which allows resurrection
	        by increasing the last reference count.
	        optimized ref_sink, ref and unref.

2007-03-08  Tim Janik 	# cc168148cd8

	Thu Mar  8 02:59:50 2007  Tim Janik  <timj@gtk.org>

	        * birnet/birnetthread.hh, birnet/birnetthread.cc: keep lock
	        count for OwnedMutex to prevent premature unsetting of the owner.

	        * tests/threads.cc: test multiple locking of OwnedMutex.

2007-03-08  Tim Janik 	# d5183054145

	test OwnedMutex in nested scenarios

2007-03-05  Tim Janik 	# 6ab4553818f

	Mon Mar  5 00:51:32 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/root.cc: abort resize_all() if neither the requisition nor
	        the allocation are invalid. this prevents bogus size allocations with
	        a 0x0 size. removed show_async() and stop_async() use Window instead.

	        * rapicorn/loop.cc: release loop mutex while waiting in quit to avoid
	        deadlock with loop thread.

2007-03-04  Tim Janik 	# 2f6a07c9525

	Sun Mar  4 23:38:38 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/handle.hh: removed Handle<> template, we have Window instead.

	        * rapicorn/Makefile.am:
	        * rapicorn/item.*:
	        * rapicorn/factory.*: removed Handle<> from API.

	        * tests/items.cc:
	        * tests/markup.cc:
	        * examples/tour.cc:
	        * examples/texttest.cc:
	        * examples/scroller.cc: get rid of Handle<>s, use Window instead.

2007-02-28  Tim Janik 	# 1448c328add

	Wed Feb 28 02:17:10 2007 Tim Janik <timj@gtk.org>

	        * rapicorn/factory.*: introduce create_window() which can be used for
	        item definitions that create a Root item.

	        * rapicorn/root.*: always create and start a main loop when a Root
	        item is created. added show(), visible(), hide(), close() and closed().
	        provide window() access method to get Window handle for a Root.
	        keep a reference on Root items around dispatch(), because the last
	        reference may be dropped during dispatching.

	        * rapicorn/window.*: new thread-safe handle for Root items. keeping a
	        Window handle for a Root item keeps the item alive (referenced).
	        a Window also mirrors some Root item methods, calling these through the
	        Window object acquires the Root item's mutex first.

	        * rapicorn/viewport-gtk.*: added visible() and viewable().

	        * tests/testitems.cc: use Factory::create_window().

	        * examples/tour.cc: use Factory::create_window().

	        * examples/texttest.cc:
	        * examples/scroller.cc: use root.show();

2007-03-04  Tim Janik 	# a2e9c66e871

	Sun Mar  4 20:01:18 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/region.hh: made m_region a union with char[] member to
	        indicate its may_alias nature and avoid an ICE.

	        * rapicorn/regionimpl.[hc]: use Birnet types and macros.

2007-03-04  Tim Janik 	# 1b9102d49b9

	item.cc: added comment

2007-03-04  Tim Janik 	# 75da0d6567d

	Sun Mar  4 19:05:33 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/item.*: removed affine_to_cousin() and affine_from_cousin(),
	        translate_*() should be used instead. renamed process_viewport_event(),
	        point_from_viewport(), point_to_viewport(), affine_from_viewport(),
	        affine_to_viewport() and viewport_point(), because these methods really
	        assume viewport relative coordinates (not root relative).

	        * rapicorn/container.*: renamed viewport_point_children().

	        * rapicorn/root.cc: changed to use viewport relative item methods.

2007-03-04  Tim Janik 	# d00bf75cf8d

	Sun Mar  4 18:11:56 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/root.cc: poll, intersect and translate existing expose
	        regions when doing copy_area().

	        * rapicorn/scrollitems.cc: removed forcefull drawing around scrolling,
	        since root now properly handles expose area translation. this makes
	        repeated scrolling on slow connections much snappier.

	        * rapicorn/viewport-gtk.cc: added minor NULL-pointer guard.

2007-03-04  Tim Janik 	# d16983cba40

	Sun Mar  4 16:57:03 2007  Tim Janik  <timj@gtk.org>

	        * configure.in: fixed up Birnet namespace to also contain Birnet release number.

	        * rapicorn/ldscript.map: adapted to new Birnet namespace.

2007-03-04  Tim Janik 	# dcdaf1f2c6d

	Sun Mar  4 16:57:03 2007  Tim Janik  <timj@gtk.org>

	        * configure.in: fixed up Birnet namespace to also contain Birnet release number.

2007-03-04  Tim Janik 	# 4857db5011c

	Sun Mar  4 16:46:50 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/scrollitems.cc: list and find the right focus item, fixed
	        scroll position calculation in set_focus_child.

	        * rapicorn/item.*: added translate_to() and translate_from().

2007-03-04  Tim Janik 	# 57f82fae389

	rapicorn/scrollitems.cc: fixed scroll position calculation in set_focus_child

2007-03-04  Tim Janik 	# da6ea8c9702

	rapicorn/item.*: added translate_to() and translate_from()

2007-03-04  Tim Janik 	# f3eb7705e52

	rapicorn/scrollitems.cc: list and find the right focus item

2007-03-04  Tim Janik 	# c8fc2a2171b

	Merge http://birnet.org/git/birnet

2007-03-04  Tim Janik 	# 40a6f9261b9

	Sun Mar  4 16:28:09 2007  Tim Janik  <timj@gtk.org>

	        * configure.inc: release-version update to 703.

	        * birnet/birnetutils.*: added printerr() and printout().

2007-03-04  Tim Janik 	# 1617726fc78

	Sun Mar  4 16:12:35 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/primitives.*:
	        * rapicorn/container.*: const fixes

	        * rapicorn/viewport-gtk.cc: handle GDK_GRAB_BROKEN by cancelling
	        current event state, instead of deleting the window.

2007-03-04  Tim Janik 	# e8cd93a3bd9

	rapicorn/container.*: const fixes

2007-03-04  Tim Janik 	# 99e3b9f49d3

	rapicorn/primitives.*: const fixes

2007-03-04  Tim Janik 	# 48f7562c350

	fixed GRAB_BROKEN handling

2007-03-03  Tim Janik 	# f3ad8231e52

	Sat Mar  3 01:58:19 2007  Tim Janik  <timj@gtk.org>

	        * configure.in: define RAPICORN_NAMESPACE_NAME and BIRNET_NAMESPACE_NAME
	        based on RAPICORN_RELEASE_VERSION, so symbols of different ABI versions
	        cannot clash.

	        * rapicorn/Makefile.am: generate rapicornconfig.hh.
	        redefine "Rapicorn" namespace to $RAPICORN_NAMESPACE_NAME in
	        rapicornconfig.hh.

	        * rapicorn/ldscript.map: adapt symbol patterns to new namespaces.

	        * rapicorn/userconfig.hh: removed, we have rapicornconfig.hh. now.

	        * rapicorn/private.hh: provide internal i18n macros.

	        * rapicorn/testitem.hh: include fixup.

	        * rapicorn/utilities.hh, rapicorn/utilities.cc: moved text_convert()
	        and exception and iterator/walker definitions from birnetutils.* here.

	        * rapicorn/birnetutils.hh, rapicorn/birnetutils.cc: removed.

2007-03-02  Tim Janik 	# bb18599540c

	Fri Mar  2 03:12:38 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/birnetutils.hh, rapicorn/birnetutils.cc: moved utilities to
	        Birnet: swap(), min(), max(), abs(), clamp(), provide error(), warning(),
	        diag() and errmsg(). removed some unused cruft.

	        * rapicorn/birnetmarkup.hh, rapicorn/birnetmarkup.cc: moved to Birnet.

	        * rapicorn/private.hh: removed utilities provided by newer Birnet.

	        * rapicorn/Makefile.am: enable _BIRNET_SOURCE_EXTENSIONS.

	        * tests/markup.cc: stripped down to just run Rapicorn specific
	        markup tests.

2007-03-03  Tim Janik 	# 1f0f103982d

	Merge http://birnet.org/git/birnet

2007-03-03  Tim Janik 	# 67653ec3b94

	Sat Mar  3 00:45:52 2007  Tim Janik  <timj@gtk.org>

	        * configure.inc: changed versioning to RELEASE.REVISION, using
	        year+month to construct release numbers. also provide a RELEASE_CHECKSUM
	        derived from a specific header file set, so make check: can check and
	        abort if the headers changed and the release number hasn't been updated
	        for too long. require, expand and check BIRNET_NAMESPACE_NAME.

	        * birnet/Makefile.am: added header-checksum: rule to generate a checksum
	        from the current header files. added check-header-checksum: rule to
	        error out and issue a message when the version number should be updated.
	        redefine "Birnet" namespace in birnetconfig.h. according to configure.in.
	        adapted version number generation in birnetconfig.h.

	        * birnet/birnetcdefs.h: make birnetconfig.h the first included file, so
	        definitions like _GNU_SOURCE really have an effect.

	        * birnet/examples/mkhost.sh: package versioning fixups.

2007-03-02  Tim Janik 	# c17375a0391

	Fri Mar  2 02:58:46 2007  Tim Janik  <timj@gtk.org>

	        * birnet/birnet.hh:
	        * birnet/tests/markup.cc: fixed missing birnetmarkup.hh include.

2007-03-02  Tim Janik 	# ecc6bea708c

	Fri Mar  2 02:32:08 2007  Tim Janik  <timj@gtk.org>

	        * birnetmarkup.hh, birnetmarkup.cc: added simple XML markup parser
	        from Rapicorn, based on GMarkup from GLib.
	        this parser additionally contains a line_number_after_newline to fixup
	        error message line numbers and it can recapture an element subtree
	        of the processed XML into a new XML string.

	        * tests/markup.cc: test Birnet::MarkupParser.

2007-03-02  Tim Janik 	# d72e2a81679

	markup parser build fixes

		* birnet/birnetmarkup.hh, birnet/birnetmarkup.cc: include fixes.

		* birnet/Makefile.am: added birnetmarkup.hh and birnetmarkup.cc.

		* birnet/tests/markup.cc: include fixes, disable Rapicorn code.

		* birnet/tests/Makefile.am: added markup.cc.

2007-02-04  Tim Janik 	# cd14bf51df8

	updated markup parser license to GNU LGPL 2.1

	        * updated all licenses to GNU Lesser General Public License version 2.1.

2006-10-10  Tim Janik 	# 0b51f46cdbd

	removed UTF-8 hacks from markup parser

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

2006-09-19  Tim Janik 	# 38de075e25e

	added recapturing to markup parser

	        * 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.

	        * tests/markup.cc: fixes and extensions.

2006-08-27  Tim Janik 	# fb45313378d

	improved markup parser errors

	        * 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.

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

2006-08-24  Tim Janik 	# 715d8fa9262

	tests/markup.cc: fixed uint declaration

2006-08-15  Tim Janik 	# 4e24c115b73

	tests/markup.cc: fixed test includes and assertion macros.

2006-07-07  Tim Janik 	# 713328b8059

	newline fixup

2005-04-15  Tim Janik 	# d8b0bec9a03

	tests/markup.cc: test markup parser.

2005-04-15  Tim Janik 	# d5f6c9fd7cc

	Added simple XML markup parser.

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

2007-03-02  Tim Janik 	# a926e1e9ef2

	Fri Mar  2 02:19:51 2007  Tim Janik  <timj@gtk.org>

	        * birnet/birnetcdefs.h: if _BIRNET_SOURCE_EXTENSIONS is defined,
	        provide return_if_fail(), return_val_if_fail(), assert_not_reached()
	        and assert().

	        * birnet/birnetutils.hh, birnet/birnetutils.cc:
	        provide swap(), min(), max(), abs() and clamp().
	        provide error(), warning(), diag() and errmsg().

2007-03-01  Tim Janik 	# deae1364b3c

	changed versioning scheme to RELEASE.REVISION

	Thu Mar  1 22:24:39 2007  Tim Janik  <timj@gtk.org>

	        * configure.in: changed versioning scheme to RELEASE.REVISION, using
	        year+month to construct release numbers. cleanups.

	        * NEWS: versioning updates.

2007-03-01  Tim Janik 	# 025252e6aed

	Thu Mar  1 01:17:29 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/factory.cc: throw elaborate error messages in case exceptions
	        are triggered during the GUI construction.

2007-02-27  Tim Janik 	# 9287a30021a

	Tue Feb 27 01:14:23 2007  Tim Janik  <timj@gtk.org>

	        * primitives.hh: introduced IRect for easy Rect -> int64 conversions.

	        * container.cc, image.cc, paintcontainers.cc, painter.cc:
	        * paintgadgets.cc, root.cc, scrollitems.cc, slider.cc, testitem.cc, testitem.hh:
	        * table.cc, text-pango.cc, viewport-gtk.cc, viewport.hh:
	        fixed accidental non-double types and added epxlicit double->int conversions.

2007-02-27  Tim Janik 	# a39c465faee

	TODO: added cleanup todos

2007-02-22  Tim Janik 	# 5821d89c6e6

	Thu Feb 22 01:44:12 2007  Tim Janik  <timj@gtk.org>

	        * rapicorn/loop.hh, rapicorn/loop.cc: complete genuine rewrite of the
	        main loop logic. loops can be executed asyncronously now which gets
	        rid of a global threadpool singleton. this removes the use and wrapping
	        of the glib main loop, which turned out to result in a much cleaner and
	        also simpler implementation. this removes global glib.h include from
	        rapicorn. introduced PollFD and PollFDSource.

	        * rapicorn/root.cc: use the new main loop, fixed loop reference counting.

	        * rapicorn/factory.cc: replaced glib-isms.

	        * rapicorn/ldscript.map: allow virtual* C++ symbols.

	        * tests/primitives.cc: added various main loop tests including source
	        state checks, io (pipe) source tests and an async loop test.

	        * examples/tour.cc: use the new main loop.

2007-02-22  Tim Janik 	# 8d5053e3e52

	Merge branch 'master' of http://birnet.org/git/birnet

2007-02-21  Tim Janik 	# e348637be77

	Wed Feb 21 03:27:02 2007  Tim Janik  <timj@gtk.org>

	        * birnetthread.hh: fixed up destructor ordering. added missing
	        privatization of class copies. fixed memory region aliasing that
	        could cause segfaults with some gcc optimizations. worked around
	        ICE (GCC#30894). minor assertion optimization. added AutoLocker
	        compile time assertion about structure/area sizes.

	        * birnetutils.hh, birnetutils.cc: provide zintern_free() alongside
	        zintern_decompress(), so the API doesn't depend on GLib.

	        * tests/infotest.cc: use zintern_free().

2007-02-15  Tim Janik 	# 516cb8c1b09

	Thu Feb 15 23:11:47 2007 Tim Janik <timj@gtk.org>

	        * tests/primitives.cc: slight cleanups.

2007-02-18  Tim Janik 	# 907a8f883f2

	Sun Feb 18 18:44:09 2007  Tim Janik  <timj@gtk.org>

		* added missing .gitignore files.

2007-02-18  Tim Janik 	# 7f62535160c

	Merge branch 'master' of http://birnet.org/git/birnet

2007-02-18  Tim Janik 	# 93e15b3b810

	Sun Feb 18 03:00:54 2007  Tim Janik  <timj@gtk.org>

	        * birnetcdefs.h: if LLONG_MAX isn't provided by gcc's limits.h despite
	        C99/GNU_SOURCE, fallback to define *INT64* constants via LONG_LONG_MAX,
	        which is provided by all 3.0+ gcc versions.

2007-02-15  Tim Janik 	# 3c55d71bd31

	Merge branch 'master' of http://birnet.org/git/birnet

2007-02-15  Tim Janik 	# 18fd8e09849

	Wed Feb 14 23:58:43 2007  Tim Janik  <timj@gtk.org>

	        * birnetcdefs.h: unconditionally include C99 headers limits.h and float.h.
	        provide UINT64_MAX, INT64_MIN, INT64_MAX if the system doesn't.

	        * birnetutils.cc: assert working implementations of the various limits
	        and constants introduced by limits.h and float.h.

2007-02-10  Tim Janik 	# 2d0013acdbd

	Sat Feb 10 18:04:00 2007  Tim Janik  <timj@gtk.org>

	        * private.hh: got rid of unused macro PRIVATE_CLASS_COPY().

2007-02-09  Tim Janik 	# 854264ca73d

	Merge branch 'master' of http://birnet.org/git/birnet

2007-02-09  Tim Janik 	# 4ac7f6e1650

	Fri Feb  9 21:13:21 2007  Tim Janik  <timj@gtk.org>

	        * configure.inc, Makefile.am, birnetconfig.h: define BIRNET_SYSVAL_*
	        for POLL constants.

	        * tests/systest.cc: check POLL constants.

2007-02-09  Tim Janik 	# c575b9537a6

	Fri Feb  9 18:54:36 2007  Tim Janik  <timj@gtk.org>

	        * po/Makefile.intltool: upgraded to Makefile.in.in from intltool-0.35.0.

2007-02-09  Tim Janik 	# d40fb33147f

	Fri Feb  9 18:42:59 2007  Tim Janik  <timj@gtk.org>

	        * added virtual destructor to all classes with virtual methods.

2007-02-09  Tim Janik 	# a94621f68f4

	TODO: minor updates

2007-02-09  Tim Janik 	# 8470ec8de21

	Merge http://birnet.org/git/birnet

2007-02-09  Tim Janik 	# 84e577478fb

	Fri Feb  9 18:27:27 2007  Tim Janik  <timj@gtk.org>

	        * configure.inc, Makefile.am, birnetconfig.h: define BIRNET_SIZEOF_LONG
	        and BIRNET_SIZEOF_POINTER.

2007-02-09  Tim Janik 	# a92d50e8461

	ChangeLog fixup

2007-02-04  Tim Janik 	# 3624f64e2ad

	Sun Feb  4 17:28:37 2007  Tim Janik  <timj@gtk.org>

	        * COPYING: merged with COPYING.LGPL, Rapicorn is fully LGPL now.

2007-02-04  Tim Janik 	# c1247a46589

	Sun Feb  4 17:22:19 2007  Tim Janik  <timj@gtk.org>

	        * updated all licenses to GNU Lesser General Public License version 2.1.

2007-02-04  Tim Janik 	# b70f43e98cc

	added DPI and overlay dialog ideas

2007-02-04  Tim Janik 	# 3fcb75ccde4

	Merge branch 'master' of http://birnet.org/git/birnet

2007-02-04  Tim Janik 	# a05a17e504b

	Sun Feb  4 17:08:31 2007  Tim Janik  <timj@gtk.org>

	        * ChangeLog: updated .gitignore files.

2007-02-04  Tim Janik 	# 88c8986242a

	Sun Feb  4 17:00:38 2007  Tim Janik  <timj@gtk.org>

	        * updated all licenses to GNU Lesser General Public License version 2.1.

2007-02-02  Tim Janik 	# 43e681d1920

	Fri Feb 2 00:54:32 2007 Tim Janik <timj@gtk.org>

	        * birnetdebugtools.cc: don't write trailing 0s in debug stream,
	        slightly reduced stack requirements, 4000 chars are hopefully
	        enough for async debugging messages.

2007-02-02  Tim Janik 	# e48fb5f5c9f

	Thu Feb 1 23:24:16 2007 Tim Janik <timj@gtk.org>

	        * birnetdebugtools.hh: make printf_valist() public to allow wrapper
	        implementations.

	        * birnetdebugtools.cc: auto append newlines to printed lines.

2007-02-01  Tim Janik 	# 8d5799e2fc0

	Thu Feb  1 20:27:09 2007  Tim Janik  <timj@gtk.org>

	        * birnetdebugtools.hh, birnetdebugtools.cc: added DebugChannel, a
	        reference counted interface which allows sending of debug messages.
	        if a debug channel is created with new_from_file_async(), printing
	        a message happens in constant time in the calling thread, and the
	        debugging output is written into a file by a background thread.

	        * tests/threads.cc: added simply DebugChannel test.

2007-01-29  Tim Janik 	# a54f0dc10b6

	Merge branch 'master' of http://birnet.org/git/birnet

2007-01-29  Tim Janik 	# b7275b0b32c

	Mon Jan 29 23:29:27 2007  Tim Janik  <timj@gtk.org>

	        * examples/mkhost.sh: generate Makefile.decl with slowcheck: and perf:
	        rules. also generate report: rule which runs all of check: slowcheck:
	        and perf: and generates a report.out file.

2007-01-29  Tim Janik 	# 6e75af518ba

	Mon Jan 29 22:46:40 2007  Tim Janik  <timj@gtk.org>

	        * birnet/birnetthread.hh: made read_barrier() and write_barrier() a NOP
	        on systems that don't need barriers. provided full_barrier().

	        * birnetthread.cc: fixed a bad bug in atomic_int_set() and
	        atomic_pointer_set() which caused atomic values to temporarily be 0.

	        * birnet/birnetcdefs.h: provide memory barrier implementations based on atomic ops.

	        * birnet/Makefile.am: define BIRNET_MEMORY_BARRIER_NEEDED in birnetconfig.h.

	        * configure.inc: provide BIRNET_MEMORY_BARRIER_NEEDED=[01] based on
	        glib's G_ATOMIC_OP_MEMORY_BARRIER_NEEDED.

2007-01-28  Tim Janik 	# b232b713e3f

	Sun Jan 28 19:31:12 2007  Tim Janik  <timj@gtk.org>

	        * fixed various compiler warnings.

2007-01-28  Tim Janik 	# c2696e85689

	fixed signed/unsigned compiler warnings

2007-01-28  Tim Janik 	# c98c4ef5f22

	Sun Jan 28 19:05:51 2007  Tim Janik  <timj@gtk.org>

	        * birnetthread.hh: provide read and write memory barriers:
	        Atomic::read_barrier(), Atomic::write_barrier().
	        Atomic::RingBuffer: prevent class copies, fixed destructor, use
	        std::copy() for fast memory copies and added missing barriers;
	        fixes suggested by Stefan Westerfeld.

	        * tests/threads.cc: fixed contention handling in ring buffer tests.

2007-01-25  Tim Janik 	# d34a60c9cdf

	Thu Jan 25 02:43:28 2007  Tim Janik  <timj@gtk.org>

		* tests/threads.cc: give up CPU if ring buffer reader/writer
		are busy spinning. this speeds up tests on single-CPU systems
		significantly.

2007-01-25  Tim Janik 	# 2fffae90ca0

	Thu Jan 25 02:03:37 2007  Tim Janik  <timj@gtk.org>

		* birnetthread.[hc]*: sink & ref threads around run() to keep the Thread
		structure alive. added Thread::Self::yield().
		added Atomic::RingBuffer<>, a simple 1-reader/1-writer ring bufferthat
		does atomic reads/writes without needing mutexes.

		* tests/threads.cc: added atomic ring buffer tests.
		test_deletable_destruction(): shutup old debug output.
		main(): always run quick tests.

2007-01-24  Tim Janik 	# 0a0b90e9839

	Wed Jan 24 22:04:36 2007  Tim Janik  <timj@gtk.org>

		* rapicorn/viewport-gtk.cc: fixed gtk_window_set_deletable version
		check.

2007-01-22  Tim Janik 	# 7ad1b269443

	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.

2007-01-22  Tim Janik 	# bcac7be3e9a

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

		* released 0.1.2, binary 0, interface 0.

		* README: explained compiler gotchas.

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

2007-01-21  Tim Janik 	# 91c92cea7b0

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

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

2007-01-21  Tim Janik 	# 8c5b8b5f648

	minor ChangeLog fix

2007-01-20  Tim Janik 	# 41d2e2e37db

	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.

2007-01-20  Tim Janik 	# 0074e0a19b2

	Merge branch 'master' of http://birnet.org/git/birnet

2007-01-20  Tim Janik 	# ec43aca3ee1

	README: better overview, fixed URLs

2007-01-19  Tim Janik 	# 16d709f5d11

	TODO item about relative color references (cherry picked from 3af1e446bd7c614df294deba878aad49035925ab commit)

2007-01-20  Tim Janik 	# 73964e6fc1b

	fixed ChangeLog typo

2007-01-20  Tim Janik 	# ccd215607fd

	Sat Jan 20 17:41:06 2007  Tim Janik  <timj@gtk.org>

		* birnetthread.hh: fixed volatile pointer attribute to apply to the
		pointer value.

		* birnetutils.cc: changed DeletionHook linking to form a ring. added
		an assertion to ~DeletionHook() that *this was unlinked before being
		destroyed. changed deletable_maps[] implementation to be created
		atomically on demand and never be destroyed. this fixes problems with
		unpredictable constructor/destructor ordering.

2007-01-19  Tim Janik 	# 48e5da5dafa

	Fri Jan 19 01:48:22 2007  Tim Janik  <timj@gtk.org>

	        * birnetutils.hh, birnetutils.cc: call monitoring_deletable()
	        when deletion hooks are added to deletables, renamed
	        dismiss_deletable() method.

	        * birnetsignalslot.hh: adapted DeletionHook methods.

	        * tests/threads.cc: added deletion hook test cases.

2007-01-19  Tim Janik 	# e369df25e6f

	reworked DeletionHook methods, fixed test case.

		* birnetutils.hh, birnetutils.cc: call monitoring_deletable()
		when deletion hooks are added to deletables, renamed
		dismiss_deletable() method.

		* birnetsignalslot.hh: adapted DeletionHook methods.

		* tests/threads.cc: fixed test deletion hook implementation
		and usage.

2007-01-18  Tim Janik 	# b729fc9e644

	first DeletionHook crash test case

2007-01-17  Tim Janik 	# 7bc2f619ff4

	Merge branch 'master' of http://www.birnet.org/git/birnet

2007-01-17  Tim Janik 	# 7493bb31256

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

		* birent/: merge with Birnet commit b45930ce7a9478286bbf99d2cca3deea6c271768.

2007-01-17  Tim Janik 	# 29f1418f63a

	Wed Jan 17 02:30:35 2007  Tim Janik  <timj@gtk.org>

	        * examples/mkhost.sh: added a small script to set up an example project
	        that configures, builds and tests (via make check) a birnet/ subdir.

2007-01-17  Tim Janik 	# 04a77d93d99

	Wed Jan 17 02:28:18 2007  Tim Janik  <timj@gtk.org>

	        * Makefile.am: define _BIRNET_SOURCE_EXTENSIONS, so birnet extensions
	        can be used internally.

2007-01-17  Tim Janik 	# accb9dee068

	Wed Jan 17 02:19:56 2007  Tim Janik  <timj@gtk.org>

	        * COPYING.LGPL: explicitely include Birnet license, GNU LGPL.

2007-01-14  Tim Janik 	# 1cd9568decd

	removed all .cvsignore files

2007-01-14  Tim Janik 	# c31f2979e7e

	updated svn:ignore

2007-01-12  Tim Janik 	# cc5b4aff79e

	Thu Jan  4 21:53:56 2007  Tim Janik  <timj@gtk.org>

	        * birnetthread.hh:
	        * birnetutils.hh: introduce virtual destructors demanded by g++-4.1.

	        * birnetthreadimpl.cc:
	        * birnetutils.cc: make double->int64 conversion explicit.

2007-01-12  Tim Janik 	# b45930ce7a9

	Thu Jan  4 21:53:56 2007  Tim Janik  <timj@gtk.org>

	        * birnetthread.hh:
	        * birnetutils.hh: introduce virtual destructors demanded by g++-4.1.

	        * birnetthreadimpl.cc:
	        * birnetutils.cc: make double->int64 conversion explicit.

2007-01-12  Tim Janik 	# 8c792344bc3

	Thu Jan 04 20:29:24 2007  Tim Janik  <timj@gtk.org>

	        * mksignals.sh: changed script inetrpreter to /bin/bash to account
	        for bash-isms.

2007-01-12  Tim Janik 	# c2eed182260

	Thu Jan 04 20:29:24 2007  Tim Janik  <timj@gtk.org>

	        * mksignals.sh: changed script inetrpreter to /bin/bash to account
	        for bash-isms.

2006-12-17  Tim Janik 	# 336f5d64a11

	Sun Dec 17 02:16:50 2006 Tim Janik <timj@gtk.org>

	        * tests/strings.cc: glib condition fix, g_unichar_iswide_cjk()
	        was introduced in glib-2.12.

2006-12-17  Tim Janik 	# 45779c5a35e

	Sun Dec 17 02:16:50 2006 Tim Janik <timj@gtk.org>

	        * tests/strings.cc: glib condition fix, g_unichar_iswide_cjk()
	        was introduced in glib-2.12.

2006-12-17  Tim Janik 	# f0bd33d4444

	Sun Dec 17 00:11:24 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.[hc]*: provide virtual destructor for class with virtual
	        methods, demanded by g++.

	        * acbirnet.m4: added autoconf utility file (moved here from beast).

2006-12-17  Tim Janik 	# 7e964cfda05

	Sun Dec 17 00:11:24 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.[hc]*: provide virtual destructor for class with virtual
	        methods, demanded by g++.

	        * acbirnet.m4: added autoconf utility file (moved here from beast).

2006-12-16  Tim Janik 	# a09df2e5503

	Sat Dec 16 12:51:20 2006 Tim Janik <timj@gtk.org>

	        * birnetutf8.cc (iswide_cjk): glib condition fix, g_unichar_iswide_cjk()
	        was introduced in glib-2.12.

2006-12-16  Tim Janik 	# 0136ad95909

	Sat Dec 16 12:51:20 2006 Tim Janik <timj@gtk.org>

	        * birnetutf8.cc (iswide_cjk): glib condition fix, g_unichar_iswide_cjk()
	        was introduced in glib-2.12.

2006-12-16  Tim Janik 	# 98fbdde7cee

	fixups

2006-12-16  Tim Janik 	# c09507bd92b

	fixups

2006-12-08  Tim Janik 	# 0ac15a70320

	Fri Dec 8 23:03:14 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.hh (binary_lookup_insertion_pos): fixed missing "std::".

2006-12-08  Tim Janik 	# 7979cbaeddc

	Fri Dec 8 23:03:14 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.hh (binary_lookup_insertion_pos): fixed missing "std::".

2006-12-04  Tim Janik 	# d2af1fd1d68

	Sun Dec 3 20:09:58 2006 Tim Janik <timj@gtk.org>

	        * birnetcdefs.h: added x86_sse4 to BirnetCPUInfo.

	        * birnetcpu.cc (get_x86_cpu_features): detect x86_sse4 bit of CPUID.

2006-12-04  Tim Janik 	# 85139cce032

	Sun Dec 3 20:09:58 2006 Tim Janik <timj@gtk.org>

	        * birnetcdefs.h: added x86_sse4 to BirnetCPUInfo.

	        * birnetcpu.cc (get_x86_cpu_features): detect x86_sse4 bit of CPUID.

2006-11-29  Tim Janik 	# 63565fca13b

	Tue Nov 28 01:20:57 2006 Tim Janik <timj@gtk.org>

	        * birnetthreadimpl.cc: do not provide chain/unchain functions after
	        thread system initialization, since calling them at this point is
	        invalid.

2006-11-29  Tim Janik 	# 06d8f008d49

	Tue Nov 28 01:20:57 2006 Tim Janik <timj@gtk.org>

	        * birnetthreadimpl.cc: do not provide chain/unchain functions after
	        thread system initialization, since calling them at this point is
	        invalid.

2006-11-28  Tim Janik 	# 1c844c1d66d

	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.

2006-11-22  Tim Janik 	# 0ae0b1b683f

	Wed Nov 22 19:45:21 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.cc (url_test_show): prefer configurable browser launchers
	        over non-configurable browser launchers.

	        * birnetcdefs.h: provide EXTERN_C and BIRNET_MAY_ALIAS.

2006-11-22  Tim Janik 	# eba6612f6f4

	Wed Nov 22 19:45:21 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.cc (url_test_show): prefer configurable browser launchers
	        over non-configurable browser launchers.

	        * birnetcdefs.h: provide EXTERN_C and BIRNET_MAY_ALIAS.

2006-11-21  Tim Janik 	# 598c88fc362

	Tue Nov 21 22:04:15 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.cc: reworked browser launching logic to work around
	        launcher scripts failing unnoticed by executing browser programs
	        asyncronously and executing browser launch scripts syncronously
	        to check the exit code.
	        added "browser" debug key and messages.
	        due to unreliable exit codes or foreground/background execution
	        behaviour, support had to be removed for the launcher scripts
	        xdg-open, htmlview, browser-config and sensible-browser,
	        added support for exo-open, galeon, epiphany, amaya and dillo.

	        * birnetmsg.hh, birnetmsg.cc: added Msg::CustomType class through
	        which users can easily create new logging types. added printf-style
	        Msg::display() variant for custom message types.

2006-11-21  Tim Janik 	# 025150154b1

	Tue Nov 21 22:04:15 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.cc: reworked browser launching logic to work around
	        launcher scripts failing unnoticed by executing browser programs
	        asyncronously and executing browser launch scripts syncronously
	        to check the exit code.
	        added "browser" debug key and messages.
	        due to unreliable exit codes or foreground/background execution
	        behaviour, support had to be removed for the launcher scripts
	        xdg-open, htmlview, browser-config and sensible-browser,
	        added support for exo-open, galeon, epiphany, amaya and dillo.

	        * birnetmsg.hh, birnetmsg.cc: added Msg::CustomType class through
	        which users can easily create new logging types. added printf-style
	        Msg::display() variant for custom message types.

2006-11-21  Tim Janik 	# 2768fad5380

	updates

2006-11-21  Tim Janik 	# 3fc1764c6b0

	updates

2006-11-21  Tim Janik 	# c17585d0133

	Mon Nov 20 23:39:43 2006 Tim Janik <timj@gtk.org>

	        * birnetmsg.hh, birnetmsg.cc: implemented C++ messaging API,
	        mostly based onthe former sfimsg.c.
	        extended API to match most of the old sfi_msg_* API, including
	        syslog logging, stdlog configuraiton and various new message types.

	        * birnetthread.cc: fixed missing zero initialization of C structs.

	        * tests/infotest.cc: added some message tests.

2006-11-21  Tim Janik 	# 86e1022bb36

	Mon Nov 20 23:39:43 2006 Tim Janik <timj@gtk.org>

	        * birnetmsg.hh, birnetmsg.cc: implemented C++ messaging API,
	        mostly based onthe former sfimsg.c.
	        extended API to match most of the old sfi_msg_* API, including
	        syslog logging, stdlog configuraiton and various new message types.

	        * birnetthread.cc: fixed missing zero initialization of C structs.

	        * tests/infotest.cc: added some message tests.

2006-11-15  Tim Janik 	# 10f5ac5ee6c

	Wed Nov 15 01:00:21 2006 Tim Janik <timj@gtk.org>

	        * birnetmath.hh, birnetmath.cc: added dtoi32, dtoi64, iround, iceil,
	        ifloor definitions from Rapicorn. these are fast float->integer
	        conversion routines on i386.

	        * tests/math.cc: test dtoi implementation and friends.

2006-11-15  Tim Janik 	# 57d2bebef24

	Wed Nov 15 01:00:21 2006 Tim Janik <timj@gtk.org>

	        * birnetmath.hh, birnetmath.cc: added dtoi32, dtoi64, iround, iceil,
	        ifloor definitions from Rapicorn. these are fast float->integer
	        conversion routines on i386.

	        * tests/math.cc: test dtoi implementation and friends.

2006-11-11  Tim Janik 	# 0af9ddc58fe

	added key2utf8.cc to EXTRA_DIST

2006-11-11  Tim Janik 	# 73affad2dec

	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.

2006-11-11  Tim Janik 	# 2ad34c5b781

	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).

2006-11-10  Tim Janik 	# 69ffb0ed383

	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 invlidation on insertions,
	        the text client takes care of this.

2006-11-09  Tim Janik 	# 690038352fe

	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.

2006-11-08  Tim Janik 	# 7a01dcd4920

	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.

2006-11-04  Tim Janik 	# ff453a2ab02

	updated comments

2006-11-04  Tim Janik 	# 92d22c7203d

	updated comments

2006-11-02  Tim Janik 	# 619ebd5130b

	cosmetics

2006-11-02  Tim Janik 	# 96c9abe6ed0

	cosmetics

2006-11-02  Tim Janik 	# b3d5636557d

	Thu Nov 2 22:28:49 2006 Tim Janik <timj@gtk.org>

	        * birnettests.h: added TABORT_HANDLER() to specify a custom callback
	        for informative printouts to be executed upon failing assertions.
	        such a handler setup is only active within a single TSTART/TDONE block.
	        added TCHECK_CMP() and TASSERT_CMP() to print out mismatching
	        values of failing comparisons.

2006-11-02  Tim Janik 	# c4122503204

	Thu Nov 2 22:28:49 2006 Tim Janik <timj@gtk.org>

	        * birnettests.h: added TABORT_HANDLER() to specify a custom callback
	        for informative printouts to be executed upon failing assertions.
	        such a handler setup is only active within a single TSTART/TDONE block.
	        added TCHECK_CMP() and TASSERT_CMP() to print out mismatching
	        values of failing comparisons.

2006-11-01  Stefan Westerfeld 	# 01570382e9a

	Wed Nov 1 11:46:10 2006 Stefan Westerfeld <stefan@space.twc.de>

		* birnetcdefs.h: Applied Patch from Tim to define BirnetInt64 and
		BirnetUInt64 as (signed) long long int, as otherwise %lld printf
		formats on AMD64 emit compiler warnings.

		* birnetthreadimpl.cc: Use BirnetUInt64 arguments for thread table
		function implementations of thread_awake_after and
		thread_emit_wakeups, to be consistent with the thread table function
		pointers defined in birnetcdefs.h.

2006-11-01  Stefan Westerfeld 	# 95a173b06e4

	Wed Nov 1 11:46:10 2006 Stefan Westerfeld <stefan@space.twc.de>

		* birnetcdefs.h: Applied Patch from Tim to define BirnetInt64 and
		BirnetUInt64 as (signed) long long int, as otherwise %lld printf
		formats on AMD64 emit compiler warnings.

		* birnetthreadimpl.cc: Use BirnetUInt64 arguments for thread table
		function implementations of thread_awake_after and
		thread_emit_wakeups, to be consistent with the thread table function
		pointers defined in birnetcdefs.h.

2006-10-24  Tim Janik 	# 9468b2e69f4

	Tue Oct 24 23:51:12 2006 Tim Janik <timj@gtk.org>

	        * birnettests.h: added cpu name to treport_*() output.

2006-10-24  Tim Janik 	# cb9a3ba9de6

	Tue Oct 24 23:51:12 2006 Tim Janik <timj@gtk.org>

	        * birnettests.h: added cpu name to treport_*() output.

2006-10-23  Stefan Westerfeld 	# ce8f26eaa54

	Mon Oct 23 17:56:19 2006 Stefan Westerfeld <stefan@space.twc.de>

		* birnetthreads.hh: Fixed typos in AutoLocker documentation.

2006-10-23  Stefan Westerfeld 	# e6ace050449

	Mon Oct 23 17:56:19 2006 Stefan Westerfeld <stefan@space.twc.de>

		* birnetthreads.hh: Fixed typos in AutoLocker documentation.

2006-10-23  Tim Janik 	# 2c434a0e0c8

	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.

2006-10-23  Tim Janik 	# f1a8cc6c36b

	updates

2006-10-23  Tim Janik 	# 79532a7e4d8

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

	        * birnetutf8.hh: added utf8_align() and utf8_aligned() to step back
	        from the middle of an UTF-8 char.

2006-10-23  Tim Janik 	# 2668bf14330

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

	        * birnetutf8.hh: added utf8_align() and utf8_aligned() to step back
	        from the middle of an UTF-8 char.

2006-10-23  Tim Janik 	# e09cc25f188

	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.

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

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

2006-10-22  Tim Janik 	# 9e55c99005f

	Sun Oct 22 00:30:08 2006 Tim Janik <timj@gtk.org>

	        * **/Makefile.am: fixed up all noinst_PROGRAMS uses to contain
	        $(ALLTESTS), so tests get automatically build by adding them
	        to one of the three *TESTS variables.

	        * Makefile.decl: define ALLTESTS to contain TESTS, SLOWTESTS and
	        PERFTESTS.

2006-10-22  Tim Janik 	# 06792ac413b

	Sun Oct 22 00:30:08 2006 Tim Janik <timj@gtk.org>

	        * **/Makefile.am: fixed up all noinst_PROGRAMS uses to contain
	        $(ALLTESTS), so tests get automatically build by adding them
	        to one of the three *TESTS variables.

	        * Makefile.decl: define ALLTESTS to contain TESTS, SLOWTESTS and
	        PERFTESTS.

2006-10-21  Tim Janik 	# 9704344111d

	Sat Oct 21 19:02:47 2006 Tim Janik <timj@gtk.org>

	        * birnettests.h (treport_generic): allow fixed portion of numbers
	        to occupy 9 characters. added more test units.

2006-10-21  Tim Janik 	# 7c2b76b87bc

	Sat Oct 21 19:02:47 2006 Tim Janik <timj@gtk.org>

	        * birnettests.h (treport_generic): allow fixed portion of numbers
	        to occupy 9 characters. added more test units.

2006-10-21  Tim Janik 	# 36a7353c2c2

	Sat Oct 21 17:14:54 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.hh, birnetutils.cc: provide init_settings() function to
	        access initialization setting values. test should now use:
	        init_settings().test_perf
	        init_settings().test_slow or
	        init_settings().test_quick.

	        * birnettests.h: fixed float printing.

2006-10-21  Tim Janik 	# 5a859d71b9f

	Sat Oct 21 17:14:54 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.hh, birnetutils.cc: provide init_settings() function to
	        access initialization setting values. test should now use:
	        init_settings().test_perf
	        init_settings().test_slow or
	        init_settings().test_quick.

	        * birnettests.h: fixed float printing.

2006-10-21  Tim Janik 	# 92e1ec50f91

	Sat Oct 21 03:46:05 2006 Tim Janik <timj@gtk.org>

	        * birnettests.h: added treport_maximized() and treport_minimized()
	        benchmark reporting funcitons. added TUnitType to allow specification
	        of units for benchmark results.

	        * birnetcdefs.h:
	        * birnetutils.cc: parse --g-fatal-warnings, --test-quick, --test-slow
	        and --test-perf. allow special casing of tests via
	        birnet_init_settings->test_quick, birnet_init_settings->test_slow and
	        birnet_init_settings->test_perf.

	        * tests/sorting.cc:
	        * tests/strings.cc:
	        * tests/threads.cc:
	        * tests/Makefile.am: split up TESTS into SLOWTESTS and PERFTESTS and
	        report performance results properly.

2006-10-21  Tim Janik 	# b1598676c4c

	Sat Oct 21 03:46:05 2006 Tim Janik <timj@gtk.org>

	        * birnettests.h: added treport_maximized() and treport_minimized()
	        benchmark reporting funcitons. added TUnitType to allow specification
	        of units for benchmark results.

	        * birnetcdefs.h:
	        * birnetutils.cc: parse --g-fatal-warnings, --test-quick, --test-slow
	        and --test-perf. allow special casing of tests via
	        birnet_init_settings->test_quick, birnet_init_settings->test_slow and
	        birnet_init_settings->test_perf.

	        * tests/sorting.cc:
	        * tests/strings.cc:
	        * tests/threads.cc:
	        * tests/Makefile.am: split up TESTS into SLOWTESTS and PERFTESTS and
	        report performance results properly.

2006-10-11  Tim Janik 	# 4981b84daf7

	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.

2006-10-10  Tim Janik 	# 2bccfc9e034

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

	        * birnetutf8.hh, birnetutf8.cc: added Unichar::isvalid().
	        changed arguemnt order of utf8_find_prev() to match that of
	        g_utf8_find_prev_char(), adapted test case. added utf8_validate(),
	        wrapping g_utf8_validate().

	        * tests/strings.cc: adapt to utf8_find_prev(). added Unichar::isvalid()
	        test and utf8_validate() test.

2006-10-10  Tim Janik 	# 339f0bb7dbd

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

	        * birnetutf8.hh, birnetutf8.cc: added Unichar::isvalid().
	        changed arguemnt order of utf8_find_prev() to match that of
	        g_utf8_find_prev_char(), adapted test case. added utf8_validate(),
	        wrapping g_utf8_validate().

	        * tests/strings.cc: adapt to utf8_find_prev(). added Unichar::isvalid()
	        test and utf8_validate() test.

2006-10-10  Tim Janik 	# 157b33dcb6b

	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.

2006-10-10  Tim Janik 	# c413919a91d

	Tue Oct 10 01:34:05 2006 Tim Janik <timj@gtk.org>

	        * birnetcdefs.h: provide extra prototype for extern inline functions
	        for newer gcc.

2006-10-10  Tim Janik 	# 85ec58c92f6

	Tue Oct 10 01:34:05 2006 Tim Janik <timj@gtk.org>

	        * birnetcdefs.h: provide extra prototype for extern inline functions
	        for newer gcc.

2006-10-10  Tim Janik 	# ac5bb5fe49f

	Mon Oct 9 23:58:21 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.cc: fixed typo in condition.

	        * birnet-zintern.cc: fixed debugging statement.

2006-10-10  Tim Janik 	# c0cf6e72445

	Mon Oct 9 23:58:21 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.cc: fixed typo in condition.

	        * birnet-zintern.cc: fixed debugging statement.

2006-10-10  Tim Janik 	# 791c83aa9c6

	Mon Oct 9 23:47:30 2006 Tim Janik <timj@gtk.org>

	        * birnetcdefs.h: ensure we have FALSE, TRUE, ABS, MIN, MAX, CLAMP,
	        ARRAY_SIZE and STRFUNC.

	        * birnetutils.hh: don't publically include glib.h, adapted affected
	        callers. pre-declare ThreadTable to use atomic functions in class
	        ReferenceCountImpl.

	        * birnetutils.hh, birnetutils.cc: added string utilities to convert
	        strings to and from bool, int, uint, float, double and double vector.
	        added utilities to convert strings tolower, toupper, totitle, to strip
	        strings and to print into strings in printf style.
	        added uuid string test and comparison and errno to string conversion.

	        * birnet-zintern.cc: conveted somewhat more to C++.

	        * tests/strings.cc: added uuid string functions tests.

2006-10-10  Tim Janik 	# 8a671d3b187

	Mon Oct 9 23:47:30 2006 Tim Janik <timj@gtk.org>

	        * birnetcdefs.h: ensure we have FALSE, TRUE, ABS, MIN, MAX, CLAMP,
	        ARRAY_SIZE and STRFUNC.

	        * birnetutils.hh: don't publically include glib.h, adapted affected
	        callers. pre-declare ThreadTable to use atomic functions in class
	        ReferenceCountImpl.

	        * birnetutils.hh, birnetutils.cc: added string utilities to convert
	        strings to and from bool, int, uint, float, double and double vector.
	        added utilities to convert strings tolower, toupper, totitle, to strip
	        strings and to print into strings in printf style.
	        added uuid string test and comparison and errno to string conversion.

	        * birnet-zintern.cc: conveted somewhat more to C++.

	        * tests/strings.cc: added uuid string functions tests.

2006-10-09  Tim Janik 	# 0138e9b17b3

	Mon Oct 9 23:00:39 2006 Tim Janik <timj@gtk.org>

	        * birnetutf8.hh, birnetutf8.cc: wrap GLib isalnum() and friends to
	        classify unichar characters. provide inline functions to increment
	        and decrement positions in UTF-8 strings.

	        * tests/strings.cc: new test program to test birnetutf8.hh functions.

2006-10-09  Tim Janik 	# f49c6e130a4

	Mon Oct 9 23:00:39 2006 Tim Janik <timj@gtk.org>

	        * birnetutf8.hh, birnetutf8.cc: wrap GLib isalnum() and friends to
	        classify unichar characters. provide inline functions to increment
	        and decrement positions in UTF-8 strings.

	        * tests/strings.cc: new test program to test birnetutf8.hh functions.

2006-10-08  Tim Janik 	# 0cb2064adf8

	Sun Oct 8 16:20:18 2006 Tim Janik <timj@gtk.org>

		* Makefile.am: ship birnetcdefs.h.

		* birnetthreadimpl.cc: added internal default constructors for gcc-3.3.

		* birnetmsg.hh: reordered function attributes on constructors for gcc-3.3.

	Sat Oct  7 23:58:58 2006  Tim Janik  <timj@gtk.org>

		* birnetcdefs.h (BIRNET_ABORT_NORETURN): added noreturn call to macros
		which can't return, to silence compiler in some cases.

	Sat Oct  7 18:32:00 2006  Tim Janik  <timj@gtk.org>

		* birnetcdefs.h: moved non-symbol C API bits from birnetcore.h and
		birnethread.h bits here. extended threading table to also cover the
		normal threading API.

		* birnetcpu.hh, birnetcpu.cc: minor API changes.

		* birnetthread.hh, birnetthread.cc: use global threading table to
		access thread layer.

		* birnetthreadimpl.cc: main threading implementation moved here and
		ported to C++. work around g_atomic_int_set and g_atomic_pointer_set
		missing from glib <= 2.10. reworked threading functions to use the
		global threading table.

		* birnetthread.h, birnetthread.c: removed. mostly merged into birnetthreadimpl.cc.

		* birnetutils.hh, birnetutils.cc: added birnet_runtime_problemv().

		* merged birnetutils.hh with birnetutilsxx.hh, and the same for the .cc files.

		* tests/threads.cc: added simple wrappers to keep the threading tests going.

2006-10-08  Tim Janik 	# 55af5bc7e04

	Sun Oct 8 16:20:18 2006 Tim Janik <timj@gtk.org>

		* Makefile.am: ship birnetcdefs.h.

		* birnetthreadimpl.cc: added internal default constructors for gcc-3.3.

		* birnetmsg.hh: reordered function attributes on constructors for gcc-3.3.

	Sat Oct  7 23:58:58 2006  Tim Janik  <timj@gtk.org>

		* birnetcdefs.h (BIRNET_ABORT_NORETURN): added noreturn call to macros
		which can't return, to silence compiler in some cases.

	Sat Oct  7 18:32:00 2006  Tim Janik  <timj@gtk.org>

		* birnetcdefs.h: moved non-symbol C API bits from birnetcore.h and
		birnethread.h bits here. extended threading table to also cover the
		normal threading API.

		* birnetcpu.hh, birnetcpu.cc: minor API changes.

		* birnetthread.hh, birnetthread.cc: use global threading table to
		access thread layer.

		* birnetthreadimpl.cc: main threading implementation moved here and
		ported to C++. work around g_atomic_int_set and g_atomic_pointer_set
		missing from glib <= 2.10. reworked threading functions to use the
		global threading table.

		* birnetthread.h, birnetthread.c: removed. mostly merged into birnetthreadimpl.cc.

		* birnetutils.hh, birnetutils.cc: added birnet_runtime_problemv().

		* merged birnetutils.hh with birnetutilsxx.hh, and the same for the .cc files.

		* tests/threads.cc: added simple wrappers to keep the threading tests going.

2006-10-08  Tim Janik 	# edd792584bf

	Sun Oct 8 16:20:18 2006 Tim Janik <timj@gtk.org>

		* Makefile.am: ship birnetcdefs.h.

		* birnetthreadimpl.cc: added internal default constructors for gcc-3.3.

		* birnetmsg.hh: reordered function attributes on constructors for gcc-3.3.

	Sat Oct  7 23:58:58 2006  Tim Janik  <timj@gtk.org>

		* birnetcdefs.h (BIRNET_ABORT_NORETURN): added noreturn call to macros
		which can't return, to silence compiler in some cases.

	Sat Oct  7 18:32:00 2006  Tim Janik  <timj@gtk.org>

		* birnetcdefs.h: moved non-symbol C API bits from birnetcore.h and
		birnethread.h bits here. extended threading table to also cover the
		normal threading API.

		* birnetcpu.hh, birnetcpu.cc: minor API changes.

		* birnetthread.hh, birnetthread.cc: use global threading table to
		access thread layer.

		* birnetthreadimpl.cc: main threading implementation moved here and
		ported to C++. work around g_atomic_int_set and g_atomic_pointer_set
		missing from glib <= 2.10. reworked threading functions to use the
		global threading table.

		* birnetthread.h, birnetthread.c: removed. mostly merged into birnetthreadimpl.cc.

		* birnetutils.hh, birnetutils.cc: added birnet_runtime_problemv().

		* merged birnetutils.hh with birnetutilsxx.hh, and the same for the .cc files.

		* tests/threads.cc: added simple wrappers to keep the threading tests going.

2006-10-08  Tim Janik 	# ba85ee949c4

	Sun Oct 8 16:20:18 2006 Tim Janik <timj@gtk.org>

		* Makefile.am: ship birnetcdefs.h.

		* birnetthreadimpl.cc: added internal default constructors for gcc-3.3.

		* birnetmsg.hh: reordered function attributes on constructors for gcc-3.3.

	Sat Oct  7 23:58:58 2006  Tim Janik  <timj@gtk.org>

		* birnetcdefs.h (BIRNET_ABORT_NORETURN): added noreturn call to macros
		which can't return, to silence compiler in some cases.

	Sat Oct  7 18:32:00 2006  Tim Janik  <timj@gtk.org>

		* birnetcdefs.h: moved non-symbol C API bits from birnetcore.h and
		birnethread.h bits here. extended threading table to also cover the
		normal threading API.

		* birnetcpu.hh, birnetcpu.cc: minor API changes.

		* birnetthread.hh, birnetthread.cc: use global threading table to
		access thread layer.

		* birnetthreadimpl.cc: main threading implementation moved here and
		ported to C++. work around g_atomic_int_set and g_atomic_pointer_set
		missing from glib <= 2.10. reworked threading functions to use the
		global threading table.

		* birnetthread.h, birnetthread.c: removed. mostly merged into birnetthreadimpl.cc.

		* birnetutils.hh, birnetutils.cc: added birnet_runtime_problemv().

		* merged birnetutils.hh with birnetutilsxx.hh, and the same for the .cc files.

		* tests/threads.cc: added simple wrappers to keep the threading tests going.

2006-10-08  Tim Janik 	# 55ad7cba919

	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.

2006-10-06  Tim Janik 	# 6bb097ace3f

	Fri Oct 6 23:26:10 2006 Tim Janik <timj@gtk.org>

	        * birnetcdefs.h: new header file to contain (or include) all definitions
	        and declarations that are useful for C only programs. while Birnet is not
	        to support *any* C symbol at all, using common structure definitions
	        helps in wrapping certain features for C programs.

	        * birnetcpu.hh, birnetcpu.cc: renamed and moved from .h and .c.

	        * birnetutilsxx.hh, birnetutilsxx.cc: use birnetcdefs.h definitions.
	        provided init functionality. added raise_sigtrap() and BREAKPOINT()
	        implementations.

	        * birnetutilsxx.hh, birnetutilsxx.cc: merged everything from
	        birnetutils.hh and birnetutils.cc into these files.

	        * birnet-zintern.cc:
	        * birnettests.h: namespace fixups.

	        * configure.inc: detect windows operating system.

2006-10-06  Tim Janik 	# a37a425dc2f

	Fri Oct 6 23:26:10 2006 Tim Janik <timj@gtk.org>

	        * birnetcdefs.h: new header file to contain (or include) all definitions
	        and declarations that are useful for C only programs. while Birnet is not
	        to support *any* C symbol at all, using common structure definitions
	        helps in wrapping certain features for C programs.

	        * birnetcpu.hh, birnetcpu.cc: renamed and moved from .h and .c.

	        * birnetutilsxx.hh, birnetutilsxx.cc: use birnetcdefs.h definitions.
	        provided init functionality. added raise_sigtrap() and BREAKPOINT()
	        implementations.

	        * birnetutilsxx.hh, birnetutilsxx.cc: merged everything from
	        birnetutils.hh and birnetutils.cc into these files.

	        * birnet-zintern.cc:
	        * birnettests.h: namespace fixups.

	        * configure.inc: detect windows operating system.

2006-10-06  Tim Janik 	# 4c7dd443a95

	Fri Oct 6 18:53:30 2006 Tim Janik <timj@gtk.org>

	        * birnet.hh: renamed from birnet.h.

	        * tests/ring.cc:
	        * birnetring.[hc]: removed, moved to sfi/ as SfiRing.

	        * birnetutilsxx.hh, birnetutilsxx.cc: hide implementation of ref_diag().

	        * birnetutils.hh, birnetutils.cc: renamed and ported to C++ from
	        birnetutils.h and birnetutils.c. changed callers.

	        * birnetthread.c: ported from BirnetRing to GSList.

	        * birnet-zintern.cc: C++ fixes. changed callers.

	        * birnettests.h: removed C function definitions.

	        * birnetmsg.hh, birnetmsg.cc: implement messaging API akeleton for C++.

	        * birnetmsg.[hc]: removed. (implementation moved to Sfi)

2006-10-06  Tim Janik 	# 192c637db4f

	Fri Oct 6 18:53:30 2006 Tim Janik <timj@gtk.org>

	        * birnet.hh: renamed from birnet.h.

	        * tests/ring.cc:
	        * birnetring.[hc]: removed, moved to sfi/ as SfiRing.

	        * birnetutilsxx.hh, birnetutilsxx.cc: hide implementation of ref_diag().

	        * birnetutils.hh, birnetutils.cc: renamed and ported to C++ from
	        birnetutils.h and birnetutils.c. changed callers.

	        * birnetthread.c: ported from BirnetRing to GSList.

	        * birnet-zintern.cc: C++ fixes. changed callers.

	        * birnettests.h: removed C function definitions.

	        * birnetmsg.hh, birnetmsg.cc: implement messaging API akeleton for C++.

	        * birnetmsg.[hc]: removed. (implementation moved to Sfi)

2006-10-03  Tim Janik 	# f7ee7419842

	Tue Oct 3 17:26:50 2006 Tim Janik <timj@gtk.org>

	        * tests/ring.cc:
	        * birnetring.[hc]: removed, moved to sfi/ as SfiRing.

	        * birnetthread.c: ported from BirnetRing to GSList.

2006-10-03  Tim Janik 	# b82d01c7439

	Tue Oct 3 17:26:50 2006 Tim Janik <timj@gtk.org>

	        * tests/ring.cc:
	        * birnetring.[hc]: removed, moved to sfi/ as SfiRing.

	        * birnetthread.c: ported from BirnetRing to GSList.

2006-10-01  Tim Janik 	# 0041bd183a0

	Sun Oct 1 13:31:47 2006 Tim Janik <timj@gtk.org>

	        * birnetutilsxx.hh: added Deletable docs.

2006-10-01  Tim Janik 	# 90fb61e72ec

	Sun Oct 1 13:31:47 2006 Tim Janik <timj@gtk.org>

	        * birnetutilsxx.hh: added Deletable docs.

2006-09-30  Tim Janik 	# b1ea7cc61c0

	Sat Sep 30 18:00:13 2006 Tim Janik <timj@gtk.org>

	        * birnetsignal.hh, birnetsignal.cc: moved virtual methods from .hh to
	        .cc to emit fewer typeinfos.

	        * birnetutilsxx.hh, birnetutilsxx.cc: moved DataList::NodeBase,
	        Deletable and ReferenceCountImpl destructors into .cc file to emit
	        fewer typeinfos.
	        added class VirtualTypeid and moved cxx_demangle() into this class.
	        let Deletable derive from VirtualTypeid to have typeid methods available
	        for allmost all virtual classes. renamed Deletable::DestructionHook to
	        Deletable::DeletionHook for consistency.

	        * tests/infotest.cc (test_virtual_typeid): test VirtualTypeid methods.

2006-09-30  Tim Janik 	# 72d555c51e5

	Sat Sep 30 18:00:13 2006 Tim Janik <timj@gtk.org>

	        * birnetsignal.hh, birnetsignal.cc: moved virtual methods from .hh to
	        .cc to emit fewer typeinfos.

	        * birnetutilsxx.hh, birnetutilsxx.cc: moved DataList::NodeBase,
	        Deletable and ReferenceCountImpl destructors into .cc file to emit
	        fewer typeinfos.
	        added class VirtualTypeid and moved cxx_demangle() into this class.
	        let Deletable derive from VirtualTypeid to have typeid methods available
	        for allmost all virtual classes. renamed Deletable::DestructionHook to
	        Deletable::DeletionHook for consistency.

	        * tests/infotest.cc (test_virtual_typeid): test VirtualTypeid methods.

2006-09-30  Tim Janik 	# c964f59045a

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

	        * examples/tour.xml: added frames test.

2006-09-30  Tim Janik 	# 9ac3c455c81

	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.

2006-09-28  Tim Janik 	# 27837de6f6e

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

	        * birnetcore.h: introduce BIRNET_CONSTRUCTOR which wraps gcc's
	        "constructor" argument. as a work around for gcc-3.3, which tends
	        to forget to emit code for static constructor functions if
	        -finline-functions is activated, also add attribute "used".

	        * birnetthread.h:
	        * birnetmsg.h: use BIRNET_CONSTRUCTOR to declare constructor functions.

	        * tests/threads.cc: added a check for proper constructor function
	        invokation before main().

2006-09-28  Tim Janik 	# 580a4f8a8d4

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

	        * birnetcore.h: introduce BIRNET_CONSTRUCTOR which wraps gcc's
	        "constructor" argument. as a work around for gcc-3.3, which tends
	        to forget to emit code for static constructor functions if
	        -finline-functions is activated, also add attribute "used".

	        * birnetthread.h:
	        * birnetmsg.h: use BIRNET_CONSTRUCTOR to declare constructor functions.

	        * tests/threads.cc: added a check for proper constructor function
	        invokation before main().

2006-09-28  Tim Janik 	# 4de34dc19bc

	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.

2006-09-25  Tim Janik 	# 7fc74717b00

	Mon Sep 25 02:10:43 2006 Tim Janik <timj@gtk.org>

	        * birnetsignalslot.hh: fixed reference handling for Data slots, so
	        reference types are supported as Data argument (they need to implement
	        operator==() though).

	        * tests/signal.cc: added data reference slot creation.

2006-09-25  Tim Janik 	# f179d9454d2

	Mon Sep 25 02:10:43 2006 Tim Janik <timj@gtk.org>

	        * birnetsignalslot.hh: fixed reference handling for Data slots, so
	        reference types are supported as Data argument (they need to implement
	        operator==() though).

	        * tests/signal.cc: added data reference slot creation.

2006-09-25  Tim Janik 	# ca0b321a6c1

	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.

2006-09-21  Tim Janik 	# 2d8c2a4b9a6

	Thu Sep 21 00:16:05 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.h, birnetutilsxx.cc: added birnet_cxx_demangle() and
	        cxx_demangle() to easily demangle C++ names.

2006-09-21  Tim Janik 	# 46614d7971e

	Thu Sep 21 00:16:05 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.h, birnetutilsxx.cc: added birnet_cxx_demangle() and
	        cxx_demangle() to easily demangle C++ names.

2006-09-20  Tim Janik 	# 40985885416

	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>.

2006-09-19  Tim Janik 	# f104af57c34

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

	        * examples/tour.xml: scrolling test fixup.

2006-09-19  Tim Janik 	# d7855dcb4f8

	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.

2006-09-18  Tim Janik 	# be1ab7d082f

	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

2006-09-17  Tim Janik 	# 6bbbbbe2d3a

	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.

2006-09-16  Tim Janik 	# 1d2f078ef8d

	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.

2006-09-16  Tim Janik 	# a105c626c74

	Sat Sep 16 15:14:32 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.c (birnet_malloc_aligned): fixed alginment adjustment so
	        this function *really* returnes aligned memory. added check on whether
	        malloc already aligned the memory the way we wanted it.

2006-09-16  Tim Janik 	# f5ddc7f13cd

	Sat Sep 16 15:14:32 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.c (birnet_malloc_aligned): fixed alginment adjustment so
	        this function *really* returnes aligned memory. added check on whether
	        malloc already aligned the memory the way we wanted it.

2006-09-16  Stefan Westerfeld 	# 79fb993d451

	Sat Sep 16 09:20:49 2006 Stefan Westerfeld <stefan@space.twc.de>

		* birnetutils.[hc]: Added birnet_malloc_aligned(), which allocates
		memory with an arbitary alignment. The caller is responsible for
		for keeping track of and freeing the unaligned memory.

2006-09-16  Stefan Westerfeld 	# 618cdbdac4a

	Sat Sep 16 09:20:49 2006 Stefan Westerfeld <stefan@space.twc.de>

		* birnetutils.[hc]: Added birnet_malloc_aligned(), which allocates
		memory with an arbitary alignment. The caller is responsible for
		for keeping track of and freeing the unaligned memory.

2006-09-16  Tim Janik 	# ff81e2404a9

	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.

2006-09-15  Tim Janik 	# 544a777f8dc

	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.

2006-09-14  Tim Janik 	# c86bb6db169

	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.

2006-09-13  Tim Janik 	# 17a0b6c335a

	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.

2006-09-13  Tim Janik 	# 7616c1f7f1a

	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.

2006-09-12  Tim Janik 	# cd45dc53d0c

	Tue Sep 12 01:41:18 2006 Tim Janik <timj@gtk.org>

	        * birnetutilsxx.cc (rip_data): fix missing updates of 'last' pointer
	        wich caused data loss.

2006-09-12  Tim Janik 	# 01ef48d79ea

	Tue Sep 12 01:41:18 2006 Tim Janik <timj@gtk.org>

	        * birnetutilsxx.cc (rip_data): fix missing updates of 'last' pointer
	        wich caused data loss.

2006-09-12  Tim Janik 	# 3db3a8d798c

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

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

2006-09-12  Tim Janik 	# 26d81a884a4

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

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

2006-09-12  Tim Janik 	# 4c09b2fc936

	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.

2006-09-05  Tim Janik 	# a4a3412f034

	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.

2006-09-04  Tim Janik 	# 0ccb083a6cb

	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.

2006-09-04  Tim Janik 	# 2c8a22dcaad

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

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

2006-09-04  Tim Janik 	# ea4afac0036

	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.

2006-09-04  Tim Janik 	# b0fa27848bb

	minor fixups

2006-09-04  Tim Janik 	# 592535639a4

	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.

2006-08-30  Tim Janik 	# 1b9ad1d5cd9

	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.

2006-08-30  Tim Janik 	# c8e8e2a03ef

	added obvious optimization + test

2006-08-30  Tim Janik 	# 045c46f183c

	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.

2006-08-28  Tim Janik 	# 56f1f6fee3c

	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.

2006-08-28  Tim Janik 	# 1b6e062b574

	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.

2006-08-27  Tim Janik 	# 5f58d8b88c5

	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.

2006-08-27  Tim Janik 	# d9b9ab7b9a0

	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().

2006-08-25  Tim Janik 	# 69b04e68676

	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.

2006-08-25  Tim Janik 	# fb5eddd27da

	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.

2006-08-25  Tim Janik 	# a4421af72a3

	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.

2006-08-25  Tim Janik 	# 8613aec6993

	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.

2006-08-24  Tim Janik 	# 651a324d8ad

	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().

2006-08-24  Tim Janik 	# 32e330f9857

	Thu Aug 23 21:21:00 2006 Tim Janik <timj@gtk.org>

	        * birnetcore.h, birnetutilsxx.hh: always use global uint definition
	        (either from types.h or from a fallback definition) to avoid
	        ambiguities.

2006-08-24  Tim Janik 	# ec2e8bc86a8

	Thu Aug 23 21:21:00 2006 Tim Janik <timj@gtk.org>

	        * birnetcore.h, birnetutilsxx.hh: always use global uint definition
	        (either from types.h or from a fallback definition) to avoid
	        ambiguities.

2006-08-24  Tim Janik 	# f144bb0152e

	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.

2006-08-22  Tim Janik 	# c150e41e567

	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.

2006-08-22  Tim Janik 	# 9f153a6791e

	added FIXME about gdk_window_move_region()

2006-08-22  Tim Janik 	# 384d965e76f

	Mon Aug 21 01:03:24 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.h, birnetutils.c: added birnet_memset4(), a function to
	        fill large memory regions with data of 32bit integer width.

2006-08-22  Tim Janik 	# c56bc82efb2

	Mon Aug 21 01:03:24 2006 Tim Janik <timj@gtk.org>

	        * birnetutils.h, birnetutils.c: added birnet_memset4(), a function to
	        fill large memory regions with data of 32bit integer width.

2006-08-21  Tim Janik 	# 2a764005562

	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().

2006-08-19  Tim Janik 	# 895f36eb10a

	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.

2006-08-15  Tim Janik 	# a4a7d381d12

	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.

2006-08-15  Tim Janik 	# c45ab28a1fc

	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.

2006-08-15  Tim Janik 	# 155c31e7d63

	Tue Jul 18 01:14:22 2006 Tim Janik <timj@gtk.org>

	        * birnetthreadxx.cc: use birnet_*__chain4init() and
	        birnet_*__unchain() functions to construct initializer lists for
	        mutexes and conditions. that way we don't require std::list to be
	        constructed at static mutex construction time (which can be a
	        problem).

	        * birnetthread.h, birnetthread.c: provide chain4init and
	        unchain variants for recursive mutexes and conditions. this required
	        reordering of the BirnetRecMutex fields. provide static declaration
	        macros for recursive mutexes and conditions in C.

	        * birnetsignalslot.hh: hook trampolines into the destruction phase
	        of a Deletable, if the instance of a method trampoline is a Deletable.
	        as a side effect of this, slot-= only works for Deletable instance
	        methods, *before* the instance is deleted.

	        * birnetsignal.hh: provide VoidSlot and BoolSlot for convenience.

	        * birnetutilsxx.hh, birnetutilsxx.cc: implemented class
	        Deletable::DestructionHook which allowes hooking up (thread safe) of
	        callbacks into the destruction phase of a Deletable.

	        * tests/signal.cc: added tests for signal connections on temporary
	        objects that trigger Deletable destruction hooks.

	        * tests/threads.cc: test statically declared recursive mutextes and
	        conditions in C.

2006-08-15  Tim Janik 	# c652926840f

	Tue Jul 18 01:14:22 2006 Tim Janik <timj@gtk.org>

	        * birnetthreadxx.cc: use birnet_*__chain4init() and
	        birnet_*__unchain() functions to construct initializer lists for
	        mutexes and conditions. that way we don't require std::list to be
	        constructed at static mutex construction time (which can be a
	        problem).

	        * birnetthread.h, birnetthread.c: provide chain4init and
	        unchain variants for recursive mutexes and conditions. this required
	        reordering of the BirnetRecMutex fields. provide static declaration
	        macros for recursive mutexes and conditions in C.

	        * birnetsignalslot.hh: hook trampolines into the destruction phase
	        of a Deletable, if the instance of a method trampoline is a Deletable.
	        as a side effect of this, slot-= only works for Deletable instance
	        methods, *before* the instance is deleted.

	        * birnetsignal.hh: provide VoidSlot and BoolSlot for convenience.

	        * birnetutilsxx.hh, birnetutilsxx.cc: implemented class
	        Deletable::DestructionHook which allowes hooking up (thread safe) of
	        callbacks into the destruction phase of a Deletable.

	        * tests/signal.cc: added tests for signal connections on temporary
	        objects that trigger Deletable destruction hooks.

	        * tests/threads.cc: test statically declared recursive mutextes and
	        conditions in C.

2006-07-13  Tim Janik 	# 344f7fe5b3f

	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.

2006-07-12  Tim Janik 	# 8e80ec4da67

	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.

2006-07-10  Tim Janik 	# 884c673ef89

	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/.

2006-07-10  Tim Janik 	# 1ffe80aa0b8

	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.

2006-07-08  Tim Janik 	# 5f45fd26a67

	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).

2006-07-08  Tim Janik 	# f60e85114b4

	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.

2006-07-07  Tim Janik 	# f224e6a54e8

	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().

2006-07-07  Tim Janik 	# 684ab3767d5

	fix birnet.o path

2006-07-07  Tim Janik 	# 1aadb79135b

	fix birnet.o path

2006-07-07  Tim Janik 	# 77ff12fb3a6

	Fri Jul  7 02:15:50 2006  Tim Janik  <timj@gtk.org>

	        * tests/infotest.cc: implement file tests in terms of the C++ API
	        which also checks the C implementation.

	        * birnetutilsxx.[hc][hc]: added Path::chek() and Path::equals().

	        * birnetutils.c: document birnet_file_equals().

2006-07-07  Tim Janik 	# c1ea945ff11

	Fri Jul  7 02:15:50 2006  Tim Janik  <timj@gtk.org>

	        * tests/infotest.cc: implement file tests in terms of the C++ API
	        which also checks the C implementation.

	        * birnetutilsxx.[hc][hc]: added Path::chek() and Path::equals().

	        * birnetutils.c: document birnet_file_equals().

2006-07-06  Tim Janik 	# 9c556ac8bc0

	Fri Jul  7 01:51:35 2006  Tim Janik  <timj@gtk.org>

	        * birnetutils.[hc]: moved birnet_file_check() and birnet_file_equals()
	        from beast/sfi/ here. fixed socket file type test.

	        * tests/infotest.cc: added test for file type checks.

	        * tests/Makefile.am:
	        * Makefile.am: removed bogus $LIBZ which should be part of $BIRNET_LIBS.

	        * configure.inc: check for zlib.h and -lz and provide $LIBZ as part
	        of $BIRNET_LIBS

2006-07-06  Tim Janik 	# d3c3e89f0db

	Fri Jul  7 01:51:35 2006  Tim Janik  <timj@gtk.org>

	        * birnetutils.[hc]: moved birnet_file_check() and birnet_file_equals()
	        from beast/sfi/ here. fixed socket file type test.

	        * tests/infotest.cc: added test for file type checks.

	        * tests/Makefile.am:
	        * Makefile.am: removed bogus $LIBZ which should be part of $BIRNET_LIBS.

	        * configure.inc: check for zlib.h and -lz and provide $LIBZ as part
	        of $BIRNET_LIBS

2006-07-06  Tim Janik 	# e7c556dc0ce

	Thu Jul  6 23:43:06 2006  Tim Janik  <timj@gtk.org>

	        * birnet-zintern.c: gen_zfile(): add "+ 1" to the dumed data array size
	        because g++ refuses to initialize non 0-terminated strings and murns
	        about the array size.

2006-07-06  Tim Janik 	# d5d1d6a49e1

	Thu Jul  6 23:43:06 2006  Tim Janik  <timj@gtk.org>

	        * birnet-zintern.c: gen_zfile(): add "+ 1" to the dumed data array size
	        because g++ refuses to initialize non 0-terminated strings and murns
	        about the array size.

2006-07-06  Tim Janik 	# ae6212bdec1

	Thu Jul  6 23:18:46 2006  Tim Janik  <timj@gtk.org>

	        * birnetutils.[hc]: added birnet_zintern_decompress(), based on
	        gxk_zfile_uncompress().

	        * tests/Makefile.am: link against $LIBZ.

	        * tests/infotest.cc: added zintern test.

2006-07-06  Tim Janik 	# f54758d1fc0

	Thu Jul  6 23:18:46 2006  Tim Janik  <timj@gtk.org>

	        * birnetutils.[hc]: added birnet_zintern_decompress(), based on
	        gxk_zfile_uncompress().

	        * tests/Makefile.am: link against $LIBZ.

	        * tests/infotest.cc: added zintern test.

2006-07-06  Tim Janik 	# 9aabdab09a1

	Thu Jul  6 22:40:58 2006  Tim Janik  <timj@gtk.org>

	        * birnet-zintern.c: some fixups and renames.

	        * Makefile.am: build birnet-zintern.

	        * dummy.cc: dummy C++ file for linking C binaries.

2006-07-06  Tim Janik 	# 97fd56c83fc

	Thu Jul  6 22:40:58 2006  Tim Janik  <timj@gtk.org>

	        * birnet-zintern.c: some fixups and renames.

	        * Makefile.am: build birnet-zintern.

	        * dummy.cc: dummy C++ file for linking C binaries.

2006-07-06  Tim Janik 	# 8d66bb30aad

	Thu Jul  6 22:25:13 2006  Tim Janik  <timj@gtk.org>

	        * birnet-zintern.c: CVS copied from beast/bse/zintern/zintern.c.

2006-07-06  Tim Janik 	# 9198567afc9

	Thu Jul  6 22:25:13 2006  Tim Janik  <timj@gtk.org>

	        * birnet-zintern.c: CVS copied from beast/bse/zintern/zintern.c.

2006-07-06  Tim Janik 	# 23eea58a205

	Thu Jul  6 22:07:54 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.[hc]*: moved dirname and basename into Path:: namespace.
	        added isabs(), skip_root(), join().

	        * tests/infotest.cc: test Path:: functions.

2006-07-06  Tim Janik 	# ee3ee066aa3

	Thu Jul  6 22:07:54 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.[hc]*: moved dirname and basename into Path:: namespace.
	        added isabs(), skip_root(), join().

	        * tests/infotest.cc: test Path:: functions.

2006-07-05  Tim Janik 	# 1c7255a2f50

	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.

2006-07-05  Tim Janik 	# bb43ba0bd74

	Wed Jul  5 01:54:59 2006  Tim Janik  <timj@gtk.org>

	        * birnetutils.c (birnet_url_test_show): added logic to restart browser
	        executable checks if none was found to be working. added support for the
	        "xdg-open" browser launching script.

	        * birnetutils.[hc]: moved url opener code and cleanup handler code from
	        GXK here. provide:
	        birnet_url_show(): show an url, show an error if no browser is present.
	        birnet_url_show_with_cookie(): same as birnet_url_show() albeit setting
	        a cookie before hand and then redirecting automatically to the actual url.
	        birnet_url_test_show(): show an url, return false if no browser is present.
	        birnet_url_test_show_with_cookie(): same as birnet_url_show_with_cookie()
	        with false return code instead of a warning.
	        birnet_cleanup_add(): register a cleanup handler with the default main loop.
	        birnet_cleanup_force_handlers(): force cleanup handler execution prematurely.

	        * tests/threads.cc: test static C mutex.

	        * birnetthread.[hc]: added support for static mutexes in C via:
	        static BIRNET_MUTEX_DECLARE_INITIALIZED (mutexname);

	        * birnetcore.h: provide BIRNET_CPP_PASTE[234]().

	        * birnetmsg.h: use BIRNET_CPP_PASTE4().

2006-07-05  Tim Janik 	# a538a8635a1

	Wed Jul  5 01:54:59 2006  Tim Janik  <timj@gtk.org>

	        * birnetutils.c (birnet_url_test_show): added logic to restart browser
	        executable checks if none was found to be working. added support for the
	        "xdg-open" browser launching script.

	        * birnetutils.[hc]: moved url opener code and cleanup handler code from
	        GXK here. provide:
	        birnet_url_show(): show an url, show an error if no browser is present.
	        birnet_url_show_with_cookie(): same as birnet_url_show() albeit setting
	        a cookie before hand and then redirecting automatically to the actual url.
	        birnet_url_test_show(): show an url, return false if no browser is present.
	        birnet_url_test_show_with_cookie(): same as birnet_url_show_with_cookie()
	        with false return code instead of a warning.
	        birnet_cleanup_add(): register a cleanup handler with the default main loop.
	        birnet_cleanup_force_handlers(): force cleanup handler execution prematurely.

	        * tests/threads.cc: test static C mutex.

	        * birnetthread.[hc]: added support for static mutexes in C via:
	        static BIRNET_MUTEX_DECLARE_INITIALIZED (mutexname);

	        * birnetcore.h: provide BIRNET_CPP_PASTE[234]().

	        * birnetmsg.h: use BIRNET_CPP_PASTE4().

2006-06-22  Tim Janik 	# f42ae3a81ac

	added --enable-maintainer-mode

2006-06-21  Tim Janik 	# 1a5866a099d

	Wed Jun 21 23:38:35 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: define _GNU_SOURCE for the birnet programming environment,
	        to automatically get GNU extensions like dprintf(), large file, uint, ...

2006-06-21  Tim Janik 	# 7a755db2e65

	Wed Jun 21 23:38:35 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: define _GNU_SOURCE for the birnet programming environment,
	        to automatically get GNU extensions like dprintf(), large file, uint, ...

2006-06-21  Tim Janik 	# 1ef6f792b3b

	Wed Jun 21 02:13:38 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: provide versioning information and BIRNET_SIZEOF_SYS_TYPESH_UINT.

	        * birnetcore.h: include <sys/types.h> for uint, ssize and other types.
	        used gcc modes to define type width now. resolve clashes when defining
	        uint by checking BIRNET_SIZEOF_SYS_TYPESH_UINT.

	        * birnetthreadxx.cc: fixed missing ThreadDescendant() constructor which
	        the gcc-4.2.0 snapshot 20060530 failed to catch.

	        * tests/datalist.cc: make all data keys static, otherwise we get crashes
	        due to mixed up destruction order. (data keys should always be static).

	        * tests/infotest.cc: added a simple test for BIRNET_CHECK_VERSION().

	        * configure.inc: provide birnet versioning information. check for uint
	        in <sys/types.h>.

2006-06-21  Tim Janik 	# 5165184097b

	Wed Jun 21 02:13:38 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: provide versioning information and BIRNET_SIZEOF_SYS_TYPESH_UINT.

	        * birnetcore.h: include <sys/types.h> for uint, ssize and other types.
	        used gcc modes to define type width now. resolve clashes when defining
	        uint by checking BIRNET_SIZEOF_SYS_TYPESH_UINT.

	        * birnetthreadxx.cc: fixed missing ThreadDescendant() constructor which
	        the gcc-4.2.0 snapshot 20060530 failed to catch.

	        * tests/datalist.cc: make all data keys static, otherwise we get crashes
	        due to mixed up destruction order. (data keys should always be static).

	        * tests/infotest.cc: added a simple test for BIRNET_CHECK_VERSION().

	        * configure.inc: provide birnet versioning information. check for uint
	        in <sys/types.h>.

2006-06-19  Tim Janik 	# a498ae048f4

	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.

2006-06-18  Tim Janik 	# c6127f48bb9

	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.

2006-06-18  Tim Janik 	# 9ea706b3df8

	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().

2006-06-18  Tim Janik 	# 4c2e151dad0

	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.

2006-06-18  Tim Janik 	# 821dcb97834

	Sun Jun 18 03:11:35 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh, birnetthreadxx.cc: provide Thread::Self::exit().

	        * birnetthread.h, birnetthread.c: provide birnet_thread_exit().

2006-06-18  Tim Janik 	# da07d41788c

	Sun Jun 18 03:11:35 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh, birnetthreadxx.cc: provide Thread::Self::exit().

	        * birnetthread.h, birnetthread.c: provide birnet_thread_exit().

2006-06-15  Tim Janik 	# 45bc8162f21

	Fri Jun 16 01:28:35 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.cc: initialize GThread as early as possible.
	        minor cleanups.

2006-06-15  Tim Janik 	# 1df774e0fd8

	Fri Jun 16 01:28:35 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.cc: initialize GThread as early as possible.
	        minor cleanups.

2006-06-13  Tim Janik 	# f435a31eebe

	Tue Jun 13 01:51:18 2006  Tim Janik  <timj@gtk.org>

	        * birnetsignal.hh: renamed SignalBase::Link to TrampolineLink.
	        fixed SlotBase::~SlotBase() to not leak trampoline reference
	        counts. renamed link accessor to SlotBase::get_trampoline_link() and
	        fixed callers.

	        * birnetsignalslot.hh: added Slot*::get_trampoline() method to all
	        Slot* classes to access the trampoline in a type safe manner.

	        * tests/signal.cc: added a test for trampoline accesses on slots.

2006-06-13  Tim Janik 	# 1c93ee7f439

	Tue Jun 13 01:51:18 2006  Tim Janik  <timj@gtk.org>

	        * birnetsignal.hh: renamed SignalBase::Link to TrampolineLink.
	        fixed SlotBase::~SlotBase() to not leak trampoline reference
	        counts. renamed link accessor to SlotBase::get_trampoline_link() and
	        fixed callers.

	        * birnetsignalslot.hh: added Slot*::get_trampoline() method to all
	        Slot* classes to access the trampoline in a type safe manner.

	        * tests/signal.cc: added a test for trampoline accesses on slots.

2006-06-11  Tim Janik 	# eaba39d38af

	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.

2006-06-11  Tim Janik 	# c17b05357ed

	Mon Jun 12 01:06:47 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.hh: moved template declarations from bsecxxutils.hh
	        here, to signal template usage errors.
	        added function TEMPLATE_ERROR::invalid_type<>();
	        added class TEMPLATE_ERROR::InvalidType<>;

2006-06-11  Tim Janik 	# 10ab3588475

	Mon Jun 12 01:06:47 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.hh: moved template declarations from bsecxxutils.hh
	        here, to signal template usage errors.
	        added function TEMPLATE_ERROR::invalid_type<>();
	        added class TEMPLATE_ERROR::InvalidType<>;

2006-06-11  Tim Janik 	# 7f949e6a176

	Sun Jun 11 23:48:59 2006  Tim Janik  <timj@gtk.org>

	        * birnetthread.c: destruction phase fixups.
	        birnet_thread_unref(): ensure all callback related destruction has
	        already taken place when ref_count drops to 0.
	        birnet_thread_handle_exit(): call C++ destruciton logic.

	        * birnetthreadxx.cc: moved magic trhread implementation bits into
	        Thread::ThreadWrapperInternal.

	        * birnetthreadxx.hh: added OwnedMutex to Thread. cleaned up magic
	        implementation bits. provide Thread::Self::owned_mutex().
	        provide DataListContainer API by reimplementation for thread safety.

	        * tests/datalist.cc: test Thread DataListContainer API.

	        * tests/threads.cc: minor adjustments.

2006-06-11  Tim Janik 	# f02aff80bff

	Sun Jun 11 23:48:59 2006  Tim Janik  <timj@gtk.org>

	        * birnetthread.c: destruction phase fixups.
	        birnet_thread_unref(): ensure all callback related destruction has
	        already taken place when ref_count drops to 0.
	        birnet_thread_handle_exit(): call C++ destruciton logic.

	        * birnetthreadxx.cc: moved magic trhread implementation bits into
	        Thread::ThreadWrapperInternal.

	        * birnetthreadxx.hh: added OwnedMutex to Thread. cleaned up magic
	        implementation bits. provide Thread::Self::owned_mutex().
	        provide DataListContainer API by reimplementation for thread safety.

	        * tests/datalist.cc: test Thread DataListContainer API.

	        * tests/threads.cc: minor adjustments.

2006-06-11  Tim Janik 	# b19e99ec05d

	shuffled function position

2006-06-11  Tim Janik 	# 38c7516fec4

	shuffled function position

2006-06-11  Tim Janik 	# f9cfd5c0505

	Sun Jun 11 19:47:27 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.hh, birnetutilsxx.cc: moved DataList implementation here
	        from Rapicorn. this provides the API types DataKey and DataListContainer.

	        * tests/datalist.cc: DataList test, adapted from Rapicorn.

	        * birnettests.h: made TASSERT() more verbose if TEST_VERBOSE is defined.

2006-06-11  Tim Janik 	# 20a809c2674

	Sun Jun 11 19:47:27 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.hh, birnetutilsxx.cc: moved DataList implementation here
	        from Rapicorn. this provides the API types DataKey and DataListContainer.

	        * tests/datalist.cc: DataList test, adapted from Rapicorn.

	        * birnettests.h: made TASSERT() more verbose if TEST_VERBOSE is defined.

2006-06-11  Tim Janik 	# b3d9d659a2b

	Sun Jun 11 19:02:05 2006  Tim Janik  <timj@gtk.org>

	        * birnetcore.h: provide STRFUNC if _BIRNET_SOURCE_EXTENSIONS is defined.

2006-06-11  Tim Janik 	# 2ff579c0523

	Sun Jun 11 19:02:05 2006  Tim Janik  <timj@gtk.org>

	        * birnetcore.h: provide STRFUNC if _BIRNET_SOURCE_EXTENSIONS is defined.

2006-06-11  Tim Janik 	# 091a63b1083

	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.

2006-06-09  Tim Janik 	# e3dc911b9a7

	Fri Jun  9 19:54:52 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h (birnet_init_test): check that NULL is defined to __null
	        in C++ on 64bit.

2006-06-09  Tim Janik 	# 21d81cdbd37

	Fri Jun  9 19:54:52 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h (birnet_init_test): check that NULL is defined to __null
	        in C++ on 64bit.

2006-06-09  Tim Janik 	# dcabcf3fc28

	Fri Jun  9 19:50:24 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh: allow multiple invocations of relock() without
	        unlock() on an auto locker and have the auto locker clear up these
	        locks in its destructor. i.e. added a lock counter to auto locker.

	        * birnetthreadxx.cc (_birnet_init_threads_cxx):
	        avoid std::list::size() which is O(N).

	        * test/threads.cc: moved former AutoLocker here as GenericAutoLocker,
	        added it to auto locker benchmarks. added a test to check auto locker
	        lock counting.

2006-06-09  Tim Janik 	# 26816a829ce

	Fri Jun  9 19:50:24 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh: allow multiple invocations of relock() without
	        unlock() on an auto locker and have the auto locker clear up these
	        locks in its destructor. i.e. added a lock counter to auto locker.

	        * birnetthreadxx.cc (_birnet_init_threads_cxx):
	        avoid std::list::size() which is O(N).

	        * test/threads.cc: moved former AutoLocker here as GenericAutoLocker,
	        added it to auto locker benchmarks. added a test to check auto locker
	        lock counting.

2006-06-09  Tim Janik 	# d23281617da

	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.

2006-06-08  Tim Janik 	# ee25aebd1bb

	undo -Wstrict-null-sentinel addition

2006-06-08  Tim Janik 	# 494d578bb19

	Thu Jun  8 18:28:52 2006  Tim Janik  <timj@gtk.org>

	        * acbirnet.m4: add -Wstrict-null-sentinel to CXXFLAGS.

2006-06-08  Tim Janik 	# cd540887a4e

	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.

2006-06-07  Tim Janik 	# 2ae4fac2716

	Thu Jun  8 00:00:10 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh, birnetthreadxx.cc: added initialization queues for
	        mutexes and conditions to allow static mutexes and conditions. however,
	        locking/unlocking of course still only works *after* threading
	        initialization.

	        * birnetthread.h:
	        * birnetthread.c: added birnet_threads_initialized() and a C++ threading
	        initialization hook.

	        * test/threads.cc: test static mutexes.

2006-06-07  Tim Janik 	# ed23fb6b923

	Thu Jun  8 00:00:10 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh, birnetthreadxx.cc: added initialization queues for
	        mutexes and conditions to allow static mutexes and conditions. however,
	        locking/unlocking of course still only works *after* threading
	        initialization.

	        * birnetthread.h:
	        * birnetthread.c: added birnet_threads_initialized() and a C++ threading
	        initialization hook.

	        * test/threads.cc: test static mutexes.

2006-06-07  Tim Janik 	# 6bfc2daeac0

	Wed Jun  7 20:14:14 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh: turned OwnedMutex into a recursive mutex.
	        * birnetthreadxx.cc: turned OwnedMutex into a recursive mutex.
	        * tests/threads.cc (test_thread_cxx): adapted tests.

2006-06-07  Tim Janik 	# df46825045b

	Wed Jun  7 20:14:14 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh: turned OwnedMutex into a recursive mutex.
	        * birnetthreadxx.cc: turned OwnedMutex into a recursive mutex.
	        * tests/threads.cc (test_thread_cxx): adapted tests.

2006-06-07  Tim Janik 	# 9a7e0d75145

	Wed Jun  7 20:00:03 2006  Tim Janik  <timj@gtk.org>

	        * birnetmsg.c: fixed up atomic accessors.

	        * birnetthread.h: fixed up atomic accessors, introduced atomic_uint
	        functions.

	        * birnetthreadxx.cc:
	        * birnetthread.c: fixed up C++ thread pointer implementation.

	        * birnetthreadxx.cc, birnetthreadxx.hh: added OwnedMutex.

	        * tests/threads.cc: test OwnedMutex.

2006-06-07  Tim Janik 	# acc2ecca988

	Wed Jun  7 20:00:03 2006  Tim Janik  <timj@gtk.org>

	        * birnetmsg.c: fixed up atomic accessors.

	        * birnetthread.h: fixed up atomic accessors, introduced atomic_uint
	        functions.

	        * birnetthreadxx.cc:
	        * birnetthread.c: fixed up C++ thread pointer implementation.

	        * birnetthreadxx.cc, birnetthreadxx.hh: added OwnedMutex.

	        * tests/threads.cc: test OwnedMutex.

2006-06-07  Tim Janik 	# 95edae907c5

	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.

2006-06-06  Tim Janik 	# 7129c4c11ca

	cosmetics

2006-06-06  Tim Janik 	# c6dc9c328a6

	cosmetics

2006-06-06  Tim Janik 	# 284a051bf09

	const fixes

2006-06-06  Tim Janik 	# 963649ab8eb

	const fixes

2006-06-06  Stefan Westerfeld 	# fd1a413ae09

	Tue Jun  6 16:53:40 2006  Stefan Westerfeld  <stefan@space.twc.de>

		* tests/threads.cc: Check that C++ constructors and destructors and
		the AutoLocker constructor and destructor will be executed in the
		order we need, that is: an AutoLocker that is created before an object
		should protect its constructor and destructor, an AutoLocker created
		after an object should not affect its constructor and destructor.

2006-06-06  Stefan Westerfeld 	# 6a4ff795db1

	Tue Jun  6 16:53:40 2006  Stefan Westerfeld  <stefan@space.twc.de>

		* tests/threads.cc: Check that C++ constructors and destructors and
		the AutoLocker constructor and destructor will be executed in the
		order we need, that is: an AutoLocker that is created before an object
		should protect its constructor and destructor, an AutoLocker created
		after an object should not affect its constructor and destructor.

2006-06-06  Tim Janik 	# 54b2485b719

	Tue Jun  6 16:47:23 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh: got rid of the extra locker pointer by using a
	        (void*) and static_cast(). added new assertions. const-optimized code.

	        * birnettests.h (TEST_CALIBRATION): give a tiny bit more time for
	        calibration to increase accuracy somewhat.

	        * threads.cc: adapted auto locker test counts to be more precise.
	        added a new benchmark for the former birnet AutoLocker implementation
	        which doesn't cast memory but stores an additional pointer.
	        adapted AutoLocker assertion code which now uses a protected method.

2006-06-06  Tim Janik 	# 3043ded0bf7

	Tue Jun  6 16:47:23 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh: got rid of the extra locker pointer by using a
	        (void*) and static_cast(). added new assertions. const-optimized code.

	        * birnettests.h (TEST_CALIBRATION): give a tiny bit more time for
	        calibration to increase accuracy somewhat.

	        * threads.cc: adapted auto locker test counts to be more precise.
	        added a new benchmark for the former birnet AutoLocker implementation
	        which doesn't cast memory but stores an additional pointer.
	        adapted AutoLocker assertion code which now uses a protected method.

2006-06-06  Stefan Westerfeld 	# 8e8b71e6554

	Tue Jun  6 14:34:53 2006  Stefan Westerfeld  <stefan@space.twc.de>

		* tests/threads.cc: Fixed bug in auto locker benchmark. It is
		necessary to take into account that the different loops will run with
		a different number of dups; so the times need to be adjusted
		accordingly.

2006-06-06  Stefan Westerfeld 	# 541d65bc7ea

	Tue Jun  6 14:34:53 2006  Stefan Westerfeld  <stefan@space.twc.de>

		* tests/threads.cc: Fixed bug in auto locker benchmark. It is
		necessary to take into account that the different loops will run with
		a different number of dups; so the times need to be adjusted
		accordingly.

2006-06-06  Tim Janik 	# bf60d0c5faf

	Tue Jun  6 02:26:59 2006  Tim Janik  <timj@gtk.org>

	        * tests/threads.cc (bench_auto_locker_cxx): added benchmark for manual
	        locking.

2006-06-06  Tim Janik 	# 6a3f408f621

	Tue Jun  6 02:26:59 2006  Tim Janik  <timj@gtk.org>

	        * tests/threads.cc (bench_auto_locker_cxx): added benchmark for manual
	        locking.

2006-06-06  Tim Janik 	# addabb99598

	Tue Jun  6 02:03:07 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh: reimplemented the AutoLocker class with the help of
	        an inlined template wrapper object. all types of lockable objects are
	        now supported, and the new implementation is actually faster.

	        * threads.cc: call assert_impl() on the new auto locker which assert
	        crucial implementation assumptions. added auto locker benchamrks for
	        the former birnet implementation, an early heap based prototype and
	        the current implementation.

2006-06-06  Tim Janik 	# d45f10f4229

	Tue Jun  6 02:03:07 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh: reimplemented the AutoLocker class with the help of
	        an inlined template wrapper object. all types of lockable objects are
	        now supported, and the new implementation is actually faster.

	        * threads.cc: call assert_impl() on the new auto locker which assert
	        crucial implementation assumptions. added auto locker benchamrks for
	        the former birnet implementation, an early heap based prototype and
	        the current implementation.

2006-06-05  Tim Janik 	# 6290e6aad4e

	Mon Jun  5 18:04:19 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh: added support for atomic const pointer access.
	        fixed missing return value cast in Atomic::ptr_get().

2006-06-05  Tim Janik 	# a511fc236d1

	Mon Jun  5 18:04:19 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh: added support for atomic const pointer access.
	        fixed missing return value cast in Atomic::ptr_get().

2006-06-05  Tim Janik 	# f019f978695

	Mon Jun  5 17:51:42 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh: fixed up AutoLocker member names.
	        added support for initialization from mutex pointers.

	        * tests/threads.cc: extended AutoLocker test to check constructors
	        from mutex pointers.

2006-06-05  Tim Janik 	# 5cf79830e46

	Mon Jun  5 17:51:42 2006  Tim Janik  <timj@gtk.org>

	        * birnetthreadxx.hh: fixed up AutoLocker member names.
	        added support for initialization from mutex pointers.

	        * tests/threads.cc: extended AutoLocker test to check constructors
	        from mutex pointers.

2006-06-05  Tim Janik 	# fc631eff963

	Mon Jun  5 14:09:45 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.hh (binary_lookup_fuzzy): use unsigned types for offs
	        and n_elements to extend the range of binary lookups from 2^31 to 2^32.

2006-06-05  Tim Janik 	# b465fa922ac

	Mon Jun  5 14:09:45 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.hh (binary_lookup_fuzzy): use unsigned types for offs
	        and n_elements to extend the range of binary lookups from 2^31 to 2^32.

2006-06-05  Tim Janik 	# 1b8a1433714

	Mon Jun  5 13:55:59 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h: added TCHECK() which can be used like TASSERT() but
	        doesn't print a mark. (silent assertion, usefull for *many* tests).

	        * birnetutilsxx.hh: moved templates binary_lookup_insertion_pos(),
	        binary_lookup_sibling() and binary_lookup() from bsecxxutils.hh here.

	        * tests/sorting.cc: new test which tests various binary lookups.

2006-06-05  Tim Janik 	# a41f78b9808

	Mon Jun  5 13:55:59 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h: added TCHECK() which can be used like TASSERT() but
	        doesn't print a mark. (silent assertion, usefull for *many* tests).

	        * birnetutilsxx.hh: moved templates binary_lookup_insertion_pos(),
	        binary_lookup_sibling() and binary_lookup() from bsecxxutils.hh here.

	        * tests/sorting.cc: new test which tests various binary lookups.

2006-06-04  Tim Janik 	# 35bee3fdef7

	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.

2006-06-04  Tim Janik 	# 2540bdce894

	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.

2006-06-04  Tim Janik 	# 116e1107509

	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.

2006-06-01  Tim Janik 	# e5ca93ca9dc

	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.

2006-06-01  Tim Janik 	# 54e8cc3f7d2

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

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

2006-06-01  Tim Janik 	# 78ef8b67fe5

	formatting fixes

2006-05-31  Tim Janik 	# b83f315e538

	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.

2006-05-31  Tim Janik 	# 224b531568a

	Wed May 31 18:19:30 2006  Tim Janik  <timj@gtk.org>

	        * tests/threads.cc (test_recursive_auto_lock): minor extensions to the
	        AutoLocker test case. fixed formatting.

2006-05-31  Tim Janik 	# 384c49c8bcc

	Wed May 31 18:19:30 2006  Tim Janik  <timj@gtk.org>

	        * tests/threads.cc (test_recursive_auto_lock): minor extensions to the
	        AutoLocker test case. fixed formatting.

2006-05-31  Stefan Westerfeld 	# 5b341d1bced

	Wed May 31 15:48:35 2006  Stefan Westerfeld  <stefan@space.twc.de>

		* tests/threads.cc: Add some AutoLocker test code.

		* birnetthreadxx.hh: Provide Birnet::AutoLocker class which locks a
		mutex on construction, and automatically unlocks it on destruction, so
		that putting an AutoLocker object on the stack conveniently ensures
		that the mutex will be properly unlocked for instance when the
		function returns or an exception gets thrown.

2006-05-31  Stefan Westerfeld 	# 66a65e7a9c6

	Wed May 31 15:48:35 2006  Stefan Westerfeld  <stefan@space.twc.de>

		* tests/threads.cc: Add some AutoLocker test code.

		* birnetthreadxx.hh: Provide Birnet::AutoLocker class which locks a
		mutex on construction, and automatically unlocks it on destruction, so
		that putting an AutoLocker object on the stack conveniently ensures
		that the mutex will be properly unlocked for instance when the
		function returns or an exception gets thrown.

2006-05-26  Tim Janik 	# d0dc2dbbca7

	Fri May 26 17:38:00 2006  Tim Janik  <timj@gtk.org>

	        * birnetcore.h: define BIRNET_*LIKELY() macros.

2006-05-26  Tim Janik 	# dc875dd192f

	Fri May 26 17:38:00 2006  Tim Janik  <timj@gtk.org>

	        * birnetcore.h: define BIRNET_*LIKELY() macros.

2006-05-26  Tim Janik 	# 70a21fbb7cb

	Fri May 26 14:01:45 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.[hc]*: added dirname() and basename().
	        provide PRIVATE_CLASS_COPY() as birnet source extension.

	        * birnetcore.h: provide BIRNET_DIR_SEPARATOR, BIRNET_SEARCHPATH_SEPARATOR
	        and related macros.

2006-05-26  Tim Janik 	# cb07c36085f

	Fri May 26 14:01:45 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.[hc]*: added dirname() and basename().
	        provide PRIVATE_CLASS_COPY() as birnet source extension.

	        * birnetcore.h: provide BIRNET_DIR_SEPARATOR, BIRNET_SEARCHPATH_SEPARATOR
	        and related macros.

2006-05-26  Tim Janik 	# d2ed5b5d7c8

	Fri May 26 13:42:59 2006  Tim Janik  <timj@gtk.org>         * birnetcore.h: provide ABS, MIN, MAX, CLAMP.

2006-05-26  Tim Janik 	# a07cf58d10b

	Fri May 26 13:42:59 2006  Tim Janik  <timj@gtk.org>         * birnetcore.h: provide ABS, MIN, MAX, CLAMP.

2006-05-21  Tim Janik 	# caf414b521a

	Sat May 20 15:34:05 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.cc (birnet_init_extended): added srand48() call to random
	        number initializations.

	        * birnettests.h: expose birnet_test_setup(). initialize birnet
	        with stand-alone=true for test programs to prevent rcfiles and the like
	        to taint test results.

	        * birnetutilsxx.cc:
	        * birnetcore.[hc]: added BirnetInitValue and accessors to get values of
	        different types. added birnet_init_extended() and birnet_init_settings.

2006-05-21  Tim Janik 	# 244098a3583

	Sat May 20 15:34:05 2006  Tim Janik  <timj@gtk.org>

	        * birnetutilsxx.cc (birnet_init_extended): added srand48() call to random
	        number initializations.

	        * birnettests.h: expose birnet_test_setup(). initialize birnet
	        with stand-alone=true for test programs to prevent rcfiles and the like
	        to taint test results.

	        * birnetutilsxx.cc:
	        * birnetcore.[hc]: added BirnetInitValue and accessors to get values of
	        different types. added birnet_init_extended() and birnet_init_settings.

2006-05-10  Tim Janik 	# f3bbdaa1357

	Wed May 10 00:07:16 2006  Tim Janik  <timj@gtk.org>

	        * birnetthread.c: minor protability fix for sched_yield().

	        * birnetthreadxx.cc: use birnet_thread_yield().

2006-05-10  Tim Janik 	# 0ff66367463

	Wed May 10 00:07:16 2006  Tim Janik  <timj@gtk.org>

	        * birnetthread.c: minor protability fix for sched_yield().

	        * birnetthreadxx.cc: use birnet_thread_yield().

2006-05-09  Tim Janik 	# ec4e33f41c1

	Tue May  9 22:55:08 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h (TEST_CALIBRATION): give up the current time slice
	        before calibrating, this can stabelize the loop on some OSes.

	        * birnetthread.[hc]: implemented birnet_thread_yield().

2006-05-09  Tim Janik 	# 1c2a7e64d32

	Tue May  9 22:55:08 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h (TEST_CALIBRATION): give up the current time slice
	        before calibrating, this can stabelize the loop on some OSes.

	        * birnetthread.[hc]: implemented birnet_thread_yield().

2006-05-09  Stefan Westerfeld 	# f73155a8e22

	Tue May  9 22:50:23 2006  Stefan Westerfeld  <stefan@space.twc.de>

		* birnetutilsxx.cc (birnet_init): Initialize rand()'s random generator
		seed via gettimeofday.

2006-05-09  Stefan Westerfeld 	# 6d8b84b0429

	Tue May  9 22:50:23 2006  Stefan Westerfeld  <stefan@space.twc.de>

		* birnetutilsxx.cc (birnet_init): Initialize rand()'s random generator
		seed via gettimeofday.

2006-05-01  Stefan Westerfeld 	# c104ca4062b

	Mon Apr 24 21:38:55 2006  Stefan Westerfeld  <stefan@space.twc.de>

		* birnettests.h (TEST_CALIBRATION): Ensure that TEST_CALIBRATION
		returns at least 1. Before this change, a return value of 0 would be
		possible for very slow test code.

2006-05-01  Stefan Westerfeld 	# b4d07f0d9c8

	Mon Apr 24 21:38:55 2006  Stefan Westerfeld  <stefan@space.twc.de>

		* birnettests.h (TEST_CALIBRATION): Ensure that TEST_CALIBRATION
		returns at least 1. Before this change, a return value of 0 would be
		possible for very slow test code.

2006-04-24  Tim Janik 	# 0b33ef7e9ef

	Mon Apr 24 19:26:04 2006  Tim Janik  <timj@gtk.org>

	        * birnetthread.c (get_pth_thread_table): use fputs() to print messages
	        when starting up the thread system. g_message() and friends are not
	        yet usable.

2006-04-24  Tim Janik 	# 832a0ebcc42

	Mon Apr 24 19:26:04 2006  Tim Janik  <timj@gtk.org>

	        * birnetthread.c (get_pth_thread_table): use fputs() to print messages
	        when starting up the thread system. g_message() and friends are not
	        yet usable.

2006-04-22  Tim Janik 	# 2ce59424fad

	shut up CVS

2006-04-22  Tim Janik 	# 8e13409a0c5

	shut up CVS

2006-04-22  Tim Janik 	# bc8fa3b2fd9

	Sat Apr 22 17:54:12 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h (TEST_CALIBRATION): comment and whitespace fixups.
	        consolidated code bloat. tweaked timing bounds to speed up calibration
	        runs. use g_printerr() for printouts.

2006-04-22  Tim Janik 	# ee4bed83a4a

	Sat Apr 22 17:54:12 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h (TEST_CALIBRATION): comment and whitespace fixups.
	        consolidated code bloat. tweaked timing bounds to speed up calibration
	        runs. use g_printerr() for printouts.

2006-04-22  Tim Janik 	# 7091e42497c

	Sat Apr 22 17:54:12 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h (TEST_CALIBRATION): comment and whitespace fixups.
	        consolidated code bloat. tweaked timing bounds to speed up calibration
	        runs. use g_printerr() for printouts.

2006-04-22  Tim Janik 	# e4fd0af6f80

	Sat Apr 22 17:54:12 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h (TEST_CALIBRATION): comment and whitespace fixups.
	        consolidated code bloat. tweaked timing bounds to speed up calibration
	        runs. use g_printerr() for printouts.

2006-04-22  Tim Janik 	# 62275d23b01

	shut up CVS

2006-04-22  Tim Janik 	# f9cffe4698c

	shut up CVS

2006-04-22  Stefan Westerfeld 	# 606450c4a04

	Sat Apr 22 13:25:54 2006  Stefan Westerfeld  <stefan@space.twc.de>

		* birnettests.h: Added TEST_CALIBRATION macro, which allows benchmark
		tests to figure out how often to perform a test for a given CPU.
		Besides the actual benchmark code, it allows the programmer to specify
		how much time the bencharking should take, and a suitable number of
		repetitions for the test code is computed.

		* birnetutilsxx.cc: Use g_path_get_basename() to call g_set_progname()
		with the application name only (without the full path).

2006-04-22  Stefan Westerfeld 	# dd57e1f388c

	Sat Apr 22 13:25:54 2006  Stefan Westerfeld  <stefan@space.twc.de>

		* birnettests.h: Added TEST_CALIBRATION macro, which allows benchmark
		tests to figure out how often to perform a test for a given CPU.
		Besides the actual benchmark code, it allows the programmer to specify
		how much time the bencharking should take, and a suitable number of
		repetitions for the test code is computed.

		* birnetutilsxx.cc: Use g_path_get_basename() to call g_set_progname()
		with the application name only (without the full path).

2006-04-20  Tim Janik 	# 05f07115bb1

	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.

2006-04-19  Tim Janik 	# 1b586d33091

	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/.

2006-04-18  Tim Janik 	# 4dc9d29141e

	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.

2006-04-15  Tim Janik 	# cf0090a6ecd

	Sat Apr 15 03:36:21 2006  Tim Janik  <timj@gtk.org>

	        * birnetcpu.c (birnet_cpu_info_string): added proper CPU prefixing.

2006-04-15  Tim Janik 	# 8f379c845a0

	Sat Apr 15 03:36:21 2006  Tim Janik  <timj@gtk.org>

	        * birnetcpu.c (birnet_cpu_info_string): added proper CPU prefixing.

2006-04-15  Tim Janik 	# 9fcf9d57f64

	Sat Apr 15 03:18:53 2006  Tim Janik  <timj@gtk.org>

	        * birnetcpu.[hc]: do runtime detection of the CPU type and
	        the CPU features. in particular, detect the available (SIMD)
	        instruction sets at runtime. currently supports i368 and
	        amd64 via CPUID.

	        * birnetcore.h: provide wrapper macros for GCC attributes.

	        * tests/infotest.cc: test the CPU info API.

2006-04-15  Tim Janik 	# 260063c9cb8

	Sat Apr 15 03:18:53 2006  Tim Janik  <timj@gtk.org>

	        * birnetcpu.[hc]: do runtime detection of the CPU type and
	        the CPU features. in particular, detect the available (SIMD)
	        instruction sets at runtime. currently supports i368 and
	        amd64 via CPUID.

	        * birnetcore.h: provide wrapper macros for GCC attributes.

	        * tests/infotest.cc: test the CPU info API.

2006-04-11  Tim Janik 	# 826be278307

	Tue Apr 11 23:37:32 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: make dist fixes.

2006-04-11  Tim Janik 	# 64fc22c6a06

	Tue Apr 11 23:37:32 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: make dist fixes.

2006-04-05  Tim Janik 	# 50fc391c13c

	Wed Apr  5 02:11:07 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h: removed unused TFAIL() macro. TERROR() is more
	        elaborate anyway and can be used instead.

2006-04-05  Tim Janik 	# 106f01506da

	Wed Apr  5 02:11:07 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h: removed unused TFAIL() macro. TERROR() is more
	        elaborate anyway and can be used instead.

2006-04-04  Tim Janik 	# 75315691a49

	cosmetic fix

2006-04-04  Tim Janik 	# c441e8aace8

	cosmetic fix

2006-04-04  Tim Janik 	# ca153ebcfcb

	Tue Apr  4 21:58:49 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h: allow printf-style arguments to TSTART().
	        added TERROR() to forcefully abort.

2006-04-04  Tim Janik 	# 9fbd60d5d43

	Tue Apr  4 21:58:49 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h: allow printf-style arguments to TSTART().
	        added TERROR() to forcefully abort.

2006-04-03  Tim Janik 	# 90d1b0e43e4

	Mon Apr  3 23:00:15 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h: add macros and convenience functions useful for
	        test programs.

	        * tests/signal.cc:
	        * tests/threads.cc:
	        * tests/ring.cc: use test macros.

	        * tests/Makefile.am:
	        * tests/testutils.h: removed entirely in favour of birnettests.h.

2006-04-03  Tim Janik 	# 31c3c58acee

	Mon Apr  3 23:00:15 2006  Tim Janik  <timj@gtk.org>

	        * birnettests.h: add macros and convenience functions useful for
	        test programs.

	        * tests/signal.cc:
	        * tests/threads.cc:
	        * tests/ring.cc: use test macros.

	        * tests/Makefile.am:
	        * tests/testutils.h: removed entirely in favour of birnettests.h.

2006-04-02  Tim Janik 	# 48ff5e49ab0

	Sun Apr  2 03:28:04 2006  Tim Janik  <timj@gtk.org>

	        * birnetcore.h: provide ISLIKELY() as alias for LIKELY().

	        * birnetsignaltemplate.hh:
	        * birnetsignal.hh:
	        * tests/signal.cc: fixed assertions.

	        * birnetutilsxx.hh: fixed primitive type ambiguities.

	        * Makefile.am: -D_BIRNET_SOURCE_EXTENSIONS is provided by Makefile.decl.

	        * tests/Makefile.am: DEFS is defined by Makefile.decl.

2006-04-02  Tim Janik 	# a55e0ea504b

	Sun Apr  2 03:28:04 2006  Tim Janik  <timj@gtk.org>

	        * birnetcore.h: provide ISLIKELY() as alias for LIKELY().

	        * birnetsignaltemplate.hh:
	        * birnetsignal.hh:
	        * tests/signal.cc: fixed assertions.

	        * birnetutilsxx.hh: fixed primitive type ambiguities.

	        * Makefile.am: -D_BIRNET_SOURCE_EXTENSIONS is provided by Makefile.decl.

	        * tests/Makefile.am: DEFS is defined by Makefile.decl.

2006-03-30  Tim Janik 	# cbde7545e44

	Thu Mar 30 20:16:08 2006  Tim Janik  <timj@gtk.org>

	        * acbeast.m4: add -Wno-pointer-sign when comiling mit gcc-4.2 to omit
	        bogus warnings about signedness of string pointers in C.

	        * autogen.sh: permit compilatiopn with automake 1.9.

	        * birnet/birnetring.c: fixed bogus "const" in return type.

	        * birnet/birnetthread.c: fixed strict aliasing warning.

	        * **/Makefile.am: fixed automake "+=" warnings.

2006-03-30  Tim Janik 	# bed928cfd6f

	Thu Mar 30 20:16:08 2006  Tim Janik  <timj@gtk.org>

	        * acbeast.m4: add -Wno-pointer-sign when comiling mit gcc-4.2 to omit
	        bogus warnings about signedness of string pointers in C.

	        * autogen.sh: permit compilatiopn with automake 1.9.

	        * birnet/birnetring.c: fixed bogus "const" in return type.

	        * birnet/birnetthread.c: fixed strict aliasing warning.

	        * **/Makefile.am: fixed automake "+=" warnings.

2006-03-30  Tim Janik 	# 26368010cc5

	Thu Mar 30 19:34:07 2006  Tim Janik  <timj@gtk.org>

		* birnetcore.h: changed switch macro for birnet extensins
		to _BIRNET_SOURCE_EXTENSIONS.

		* birnetcore.h: added more return_if_fail and assertion macros
		plus shorthands.

		* birnet.h:
		* mksignals.sh:
		* birnetsignal.hh:
		* birnetsignalslot.hh:
		* birnetsignaltemplate.hh: added C++ signal system.
		* ChangeLog: added old signal system change entries.

		* tests/signal.cc: test the C++ signal system.

		* configure.inc: added libtool workaround for missing -lpthread.

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

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

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

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

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

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

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

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

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

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

		* 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.
		* birnetsignaltemplate.hh: use ScopeReference.

		* tests/signal.cc: removed cruft.

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

		* 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.

		* 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.

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

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

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

		* 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>

		* birnetsignal.hh, 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.

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

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

		* 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>

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

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

		* 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.

		* 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>

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

		* tests/signal.cc: test signals.

2006-03-30  Tim Janik 	# cddd79cfe9e

	Thu Mar 30 19:34:07 2006  Tim Janik  <timj@gtk.org>

		* birnetcore.h: changed switch macro for birnet extensins
		to _BIRNET_SOURCE_EXTENSIONS.

		* birnetcore.h: added more return_if_fail and assertion macros
		plus shorthands.

		* birnet.h:
		* mksignals.sh:
		* birnetsignal.hh:
		* birnetsignalslot.hh:
		* birnetsignaltemplate.hh: added C++ signal system.
		* ChangeLog: added old signal system change entries.

		* tests/signal.cc: test the C++ signal system.

		* configure.inc: added libtool workaround for missing -lpthread.

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

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

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

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

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

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

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

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

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

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

		* 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.
		* birnetsignaltemplate.hh: use ScopeReference.

		* tests/signal.cc: removed cruft.

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

		* 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.

		* 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.

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

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

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

		* 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>

		* birnetsignal.hh, 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.

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

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

		* 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>

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

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

		* 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.

		* 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>

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

		* tests/signal.cc: test signals.

2006-03-30  Tim Janik 	# 8c49d7cb0ec

	shutup

2006-03-30  Tim Janik 	# 005ce7dce12

	shutup

2006-03-30  Tim Janik 	# aceaceee8e4

	Thu Mar 30 19:12:29 2006  Tim Janik  <timj@gtk.org>

	        * birnetcore.h:
	        * birnetutilsxx.cc: added argc/argv to birnet_init().
	        propagated change and changed callers.

2006-03-30  Tim Janik 	# cd6602bb5b4

	Thu Mar 30 19:12:29 2006  Tim Janik  <timj@gtk.org>

	        * birnetcore.h:
	        * birnetutilsxx.cc: added argc/argv to birnet_init().
	        propagated change and changed callers.

2006-03-20  Tim Janik 	# 3dc7593cdb3

	Sun Mar 19 22:26:02 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: compile with -DBIRNET_FEATURES.
	        fixed up birnetconfig.h generation.

	        * birnetthread.h:
	        * birnetthread.c:
	        moved BirnetThreads to a reference counted model, to
	        execute a thread, birnet_thread_start() must be called now.
	        birnet_thread_run() will now create a thread and automatically
	        start it, the returned thread structure must be unrefed.
	        always demand a well formed thread name. added C++ hooks.
	        use 64bit data types for time ranges. some atomic fixes.
	        birnet_thread_get_aborted(): return whether a thread got aborted.
	        birnet_thread_get_running(): return whether a thread is
	        currently running.
	        birnet_thread_wait_for_exit(): block until the thread has exited.

	        * birnetthreadxx.hh:
	        * birnetthreadxx.cc: provide a C++ API for threads. added classes
	        Mutex, RecMutex, Cond, Atomic, Thread and Thread::Self.

	        * birnetutils.h:
	        * birnetutils.c: added for C utilities.

	        * birnetutilsxx.hh:
	        * birnetutilsxx.cc: define fundamental types in the Birnet:: namespace.
	        moved birnet_init() hook logic here. added ReferenceCountImpl class,
	        which implements atomic reference counting for objects.

	        * birnetcore.h: define BIRNET_STATIC_ASSERT() and
	        BIRNET_ASSERT(), removed C++ code. define standard types,
	        such as uint64 and unichar.

	        * birnetcore.c: removed birnet_init() implementation.

	        * birnetcore.hh:
	        * birnetcore.cc: removed entirely.

	        * tests/threads.cc: extended tests, added C++ tests.

2006-03-20  Tim Janik 	# 5d5a5e83215

	Sun Mar 19 22:26:02 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: compile with -DBIRNET_FEATURES.
	        fixed up birnetconfig.h generation.

	        * birnetthread.h:
	        * birnetthread.c:
	        moved BirnetThreads to a reference counted model, to
	        execute a thread, birnet_thread_start() must be called now.
	        birnet_thread_run() will now create a thread and automatically
	        start it, the returned thread structure must be unrefed.
	        always demand a well formed thread name. added C++ hooks.
	        use 64bit data types for time ranges. some atomic fixes.
	        birnet_thread_get_aborted(): return whether a thread got aborted.
	        birnet_thread_get_running(): return whether a thread is
	        currently running.
	        birnet_thread_wait_for_exit(): block until the thread has exited.

	        * birnetthreadxx.hh:
	        * birnetthreadxx.cc: provide a C++ API for threads. added classes
	        Mutex, RecMutex, Cond, Atomic, Thread and Thread::Self.

	        * birnetutils.h:
	        * birnetutils.c: added for C utilities.

	        * birnetutilsxx.hh:
	        * birnetutilsxx.cc: define fundamental types in the Birnet:: namespace.
	        moved birnet_init() hook logic here. added ReferenceCountImpl class,
	        which implements atomic reference counting for objects.

	        * birnetcore.h: define BIRNET_STATIC_ASSERT() and
	        BIRNET_ASSERT(), removed C++ code. define standard types,
	        such as uint64 and unichar.

	        * birnetcore.c: removed birnet_init() implementation.

	        * birnetcore.hh:
	        * birnetcore.cc: removed entirely.

	        * tests/threads.cc: extended tests, added C++ tests.

2006-03-17  Tim Janik 	# 8b4274ded50

	Fri Mar 17 19:41:50 2006  Tim Janik  <timj@gtk.org>

	        * birnetcore.h: CVS copied from birnetcore.hh.

	        * birnetcore.c: CVS copied from birnetcore.cc.

2006-03-17  Tim Janik 	# 0577124cd3f

	Fri Mar 17 19:41:50 2006  Tim Janik  <timj@gtk.org>

	        * birnetcore.h: CVS copied from birnetcore.hh.

	        * birnetcore.c: CVS copied from birnetcore.cc.

2006-03-16  Tim Janik 	# d6b0e091e7e

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

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

2006-03-13  Tim Janik 	# 25fa0f16073

	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 ;)

2006-03-13  Tim Janik 	# 7c8f60db290

	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.

2006-03-12  Tim Janik 	# 61fad5f0f3b

	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.

2006-03-12  Tim Janik 	# 19294c7e8c4

	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.

2006-03-12  Tim Janik 	# cb95a3ded63

	Sun Mar 12 12:21:40 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.decl: declare variables that are used in += statements.

	        * */Makefile.am: added include statement for Makefile.decl.

2006-03-12  Tim Janik 	# 2ed0d9ca5af

	Sun Mar 12 12:21:40 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.decl: declare variables that are used in += statements.

	        * */Makefile.am: added include statement for Makefile.decl.

2006-03-11  Tim Janik 	# 4cf75253b28

	Sat Mar 11 20:23:51 2006  Tim Janik  <timj@gtk.org>

	        * */Makefile.am:
	        added missing copyright notices.
	        changed/added LGPL license with permission
	        from Stefan Westerfeld (required for some files).

2006-03-11  Tim Janik 	# 306366751b5

	Sat Mar 11 20:23:51 2006  Tim Janik  <timj@gtk.org>

	        * */Makefile.am:
	        added missing copyright notices.
	        changed/added LGPL license with permission
	        from Stefan Westerfeld (required for some files).

2006-03-09  Tim Janik 	# 228b126732d

	Thu Mar  9 20:52:59 2006  Tim Janik  <timj@gtk.org>

	        * acbeast.m4:
	        * configure.in:
	        * birnet/configure.inc: applied patch from Ralf Wildenhues
	        <Ralf.Wildenhues@gmx.de> to work with newer autoconf.
	         clarified licensing to mention LGPL explicitely in all places.

	        * autogen.sh: clear autom4te cache. clarified licensing to mention
	        LGPL explicitely in all places.

2006-03-09  Tim Janik 	# 4747e93d852

	Thu Mar  9 20:52:59 2006  Tim Janik  <timj@gtk.org>

	        * acbeast.m4:
	        * configure.in:
	        * birnet/configure.inc: applied patch from Ralf Wildenhues
	        <Ralf.Wildenhues@gmx.de> to work with newer autoconf.
	         clarified licensing to mention LGPL explicitely in all places.

	        * autogen.sh: clear autom4te cache. clarified licensing to mention
	        LGPL explicitely in all places.

2006-03-09  Tim Janik 	# 52f525895e4

	Thu Mar  9 18:06:55 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: install birnet.h.

2006-03-09  Tim Janik 	# 8c8e00b7889

	Thu Mar  9 18:06:55 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: install birnet.h.

2006-03-09  Tim Janik 	# ce5e59b9e0e

	Thu Mar  9 02:57:33 2006  Tim Janik  <timj@gtk.org>

	        * birnetcore.cc (birnet_init): allow double initialization.

2006-03-09  Tim Janik 	# e912eedb038

	Thu Mar  9 02:57:33 2006  Tim Janik  <timj@gtk.org>

	        * birnetcore.cc (birnet_init): allow double initialization.

2006-03-09  Tim Janik 	# 254a32b19e4

	Thu Mar  9 01:50:07 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: generate partial library libbirnet.o.

	        * birnet.h: combine include header.

	        * birnetcore.hh:
	        * birnetcore.cc: provide birnet_init() and provide initialization
	        hook funcitonality for C++.

	        * birnetthread.c: fixed thread start syncronization races.

2006-03-09  Tim Janik 	# 81900d945b7

	Thu Mar  9 01:50:07 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: generate partial library libbirnet.o.

	        * birnet.h: combine include header.

	        * birnetcore.hh:
	        * birnetcore.cc: provide birnet_init() and provide initialization
	        hook funcitonality for C++.

	        * birnetthread.c: fixed thread start syncronization races.

2006-03-07  Tim Janik 	# 5ae89a55c67

	Tue Mar  7 19:50:01 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: fix dependency.

2006-03-07  Tim Janik 	# c247a37a669

	Tue Mar  7 19:50:01 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: fix dependency.

2006-03-07  Tim Janik 	# 61b18f4f4eb

	Tue Mar  7 03:06:55 2006  Tim Janik  <timj@gtk.org>

	        * configure.inc: define AC_BIRNET_REQUIREMENTS() to perform configure
	        checks for libbirnet.la.

2006-03-07  Tim Janik 	# 9bf2ac04c75

	Tue Mar  7 03:06:55 2006  Tim Janik  <timj@gtk.org>

	        * configure.inc: define AC_BIRNET_REQUIREMENTS() to perform configure
	        checks for libbirnet.la.

2006-03-07  Tim Janik 	# ecfbf8fa907

	Tue Mar  7 02:56:25 2006  Tim Janik  <timj@gtk.org>

	        * tests/threads.cc: added BirnetThread from sfi/testsfi.c.
	        also added a test for atomic integer increments.

	        * tests/testutils.h: utility functions for tests.

	        * tests/ring.cc: added BirnetRing tests from sfi/testsfi.c.

	        * tests/Makefile.am: build and check test programs.

2006-03-07  Tim Janik 	# 7aee38d9106

	Tue Mar  7 02:56:25 2006  Tim Janik  <timj@gtk.org>

	        * tests/threads.cc: added BirnetThread from sfi/testsfi.c.
	        also added a test for atomic integer increments.

	        * tests/testutils.h: utility functions for tests.

	        * tests/ring.cc: added BirnetRing tests from sfi/testsfi.c.

	        * tests/Makefile.am: build and check test programs.

2006-03-07  Tim Janik 	# 72e91fd2a7d

	Tue Mar  7 02:34:38 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: build rules for libbirnet.la.

	        * birnetmsg.[hc]: slight atomicity fixes.

	        * birnetring.[hc]: removed non ring related cruft.
	        added docs to some ring functions.

	        * birnetthread.[hc]: fixed atomic functions. fixed
	        birnet_thread_run() race by letting newly created threads
	        sleep until birnet_thread_run() completed its setup.
	        allocate per-thread BirnetCond as part of the thread structure.
	        fixed thread handle leaks in birnet_thread_run() by introducing
	        birnet_thread_handle_free().
	        fixed accounting accuracy in thread_info_from_stat_L() by reading
	        out /proc/%u/task/%u/stat files which provide per-thread info,
	        instead of using getrusage(). renamed mutex macros.
	        support GSlice. cache getpid(). added birnet_init().

2006-03-07  Tim Janik 	# ed132dc3c58

	Tue Mar  7 02:34:38 2006  Tim Janik  <timj@gtk.org>

	        * Makefile.am: build rules for libbirnet.la.

	        * birnetmsg.[hc]: slight atomicity fixes.

	        * birnetring.[hc]: removed non ring related cruft.
	        added docs to some ring functions.

	        * birnetthread.[hc]: fixed atomic functions. fixed
	        birnet_thread_run() race by letting newly created threads
	        sleep until birnet_thread_run() completed its setup.
	        allocate per-thread BirnetCond as part of the thread structure.
	        fixed thread handle leaks in birnet_thread_run() by introducing
	        birnet_thread_handle_free().
	        fixed accounting accuracy in thread_info_from_stat_L() by reading
	        out /proc/%u/task/%u/stat files which provide per-thread info,
	        instead of using getrusage(). renamed mutex macros.
	        support GSlice. cache getpid(). added birnet_init().

2006-03-07  Tim Janik 	# cd2c773dc95

	Tue Mar  7 02:45:06 2006  Tim Janik  <timj@gtk.org>

	        * birnetmsg.[hc]:
	        * birnetring.[hc]:
	        * birnetthread.[hc]: Sfi -> Birnet rename.

2006-03-07  Tim Janik 	# fa5d7f38936

	Tue Mar  7 02:45:06 2006  Tim Janik  <timj@gtk.org>

	        * birnetmsg.[hc]:
	        * birnetring.[hc]:
	        * birnetthread.[hc]: Sfi -> Birnet rename.

2006-03-06  Tim Janik 	# e4ef583899b

	Mon Mar  6 20:28:02 2006  Tim Janik  <timj@gtk.org>

	        * birnetmsg.[hc]: CVS copied from beast/sfi/sfilog.[hc].

2006-03-06  Tim Janik 	# 23f04a1fbad

	Mon Mar  6 20:28:02 2006  Tim Janik  <timj@gtk.org>

	        * birnetmsg.[hc]: CVS copied from beast/sfi/sfilog.[hc].

2006-03-06  Tim Janik 	# c8486435393

	Mon Mar  6 20:24:04 2006  Tim Janik  <timj@gtk.org>

	        * birnetthread.[hc]: CVS copied from beast/sfi/sfithreads.[hc].

	        * birnetring.[hc]: CVS copied from beast/sfi/sfiprimitives.[hc].

2006-03-06  Tim Janik 	# d62a38bd792

	Mon Mar  6 20:24:04 2006  Tim Janik  <timj@gtk.org>

	        * birnetthread.[hc]: CVS copied from beast/sfi/sfithreads.[hc].

	        * birnetring.[hc]: CVS copied from beast/sfi/sfiprimitives.[hc].

2006-02-15  Tim Janik 	# cab2e58315e

	Wed Feb 15 23:18:42 2006  Tim Janik  <timj@gtk.org>

	        * sfifilecrawler.c:
	        * sfilog.c:
	        * sfiprimitives.c:
	        * sfithreads.c:
	        * sfitime.c: ported documentation to doxer format.

2006-02-15  Tim Janik 	# 01fe32e3287

	Wed Feb 15 23:18:42 2006  Tim Janik  <timj@gtk.org>

	        * sfifilecrawler.c:
	        * sfilog.c:
	        * sfiprimitives.c:
	        * sfithreads.c:
	        * sfitime.c: ported documentation to doxer format.

2006-01-15  Tim Janik 	# 69d479b2ec8

	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.

2006-01-11  Tim Janik 	# cbe6355affe

	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 sambols 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.

2006-01-10  Tim Janik 	# 0927ca7ccd3

	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.

2005-12-29  Tim Janik 	# 20a5e49ace3

	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.

2005-12-29  Tim Janik 	# 5065bea19d4

	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.

2005-12-28  Tim Janik 	# b7a9033cd93

	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.

2005-11-15  Tim Janik 	# a415b883ed3

	Tue Nov 15 21:59:52 2005  Tim Janik  <timj@gtk.org>

	        * tools/bseloopfuncs.c (gsl_data_find_loop5): fixed loop bounds
	        calculations to properly account for frame lengths. fixed premature
	        loop aborts (was buggy due to load balancing in the inner loop).
	        fixed accomplished with assitence of stefan.

	        * tools/bseloopfuncs.h: properly document loop5.

2005-11-15  Tim Janik 	# 665feba0f97

	Tue Nov 15 21:59:52 2005  Tim Janik  <timj@gtk.org>

	        * tools/bseloopfuncs.c (gsl_data_find_loop5): fixed loop bounds
	        calculations to properly account for frame lengths. fixed premature
	        loop aborts (was buggy due to load balancing in the inner loop).
	        fixed accomplished with assitence of stefan.

	        * tools/bseloopfuncs.h: properly document loop5.

2005-08-06  Tim Janik 	# 7059d20cc95

	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).

2005-08-06  Tim Janik 	# 2613a3ba613

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

	        * released 0.1.1, binary 0, interface 0.

2005-07-31  Tim Janik 	# c1d8b18da38

	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.

2005-07-23  Tim Janik 	# f42e96dce70

	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.

2005-07-21  Tim Janik 	# 01b126a75c1

	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.

2005-07-19  Tim Janik 	# ac41cb65ee3

	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.

2005-07-13  Tim Janik 	# ee644a79bc4

	cometics

2005-07-13  Tim Janik 	# 2b77f8f6fda

	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.

2005-07-03  Tim Janik 	# fea5bcc5401

	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.

2005-06-29  Tim Janik 	# beece348929

	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.

2005-06-29  Tim Janik 	# 915aeea2503

	silence

2005-06-29  Tim Janik 	# 98f9abe7e0c

	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.

2005-06-29  Tim Janik 	# 7ee02f8e875

	shut up

2005-06-29  Tim Janik 	# 5277f6b407a

	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.

2005-06-28  Tim Janik 	# f2678e577f5

	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.

2005-06-28  Tim Janik 	# 39061271f3d

	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.

2005-06-12  Tim Janik 	# 464cd41de56

	updates

2005-05-25  Tim Janik 	# 1046276325e

	Wed May 25 22:46:07 2005  Tim Janik  <timj@gtk.org>

	        * sfithreads.h: gcc-3.4 produces segfaulting code intentionally for
	        funciton casts it doesn't like (eventhough the *casting* programmer
	        should know better). so, cast all function pointers to (void*) before
	        casting them to the target type, which effectively makes gcc blind.

2005-05-25  Tim Janik 	# 493cef84f15

	Wed May 25 22:46:07 2005  Tim Janik  <timj@gtk.org>

	        * sfithreads.h: gcc-3.4 produces segfaulting code intentionally for
	        funciton casts it doesn't like (eventhough the *casting* programmer
	        should know better). so, cast all function pointers to (void*) before
	        casting them to the target type, which effectively makes gcc blind.

2005-05-20  Tim Janik 	# 89b4f48e2de

	Fri May 20 14:12:19 2005  Tim Janik  <timj@gtk.org>

	        * sficomport.c: disable debugging message that log every
	        communication bit. these are of not much use really and hide
	        the sensible debugging messages.

	        * sfilog.c: don't let the message type label default to ident if
	        NULL is specified. callers of sfi_msg_type_label() can handle NULLs.
	        key_list_change(): allow key seperation by ',' and ignore spaces.

2005-05-20  Tim Janik 	# 4bb0eb92b5b

	Fri May 20 14:12:19 2005  Tim Janik  <timj@gtk.org>

	        * sficomport.c: disable debugging message that log every
	        communication bit. these are of not much use really and hide
	        the sensible debugging messages.

	        * sfilog.c: don't let the message type label default to ident if
	        NULL is specified. callers of sfi_msg_type_label() can handle NULLs.
	        key_list_change(): allow key seperation by ',' and ignore spaces.

2005-05-19  Tim Janik 	# 5ccbab68c73

	Thu May 19 17:53:48 2005  Tim Janik  <timj@gtk.org>

	        * sfilog.h, sfilog.c:
	        major (and hopefully final) revamp of the message/logging API.
	        got rid of log message keys. instead, added mechanism to create
	        new message types. added globally accessible message type bitmask
	        to quickly figure whether logging is neccessary. moved the API to
	        SfiMessage and sfi_msg_* namespace.

	        * sfithreads.h: added wrapper macros (and auxillary functions) to
	        access atomic integers and atomic pointers in a typesafe way.

	        * *.c: adapted to new debugging API.

2005-05-19  Tim Janik 	# d1d86352b02

	Thu May 19 17:53:48 2005  Tim Janik  <timj@gtk.org>

	        * sfilog.h, sfilog.c:
	        major (and hopefully final) revamp of the message/logging API.
	        got rid of log message keys. instead, added mechanism to create
	        new message types. added globally accessible message type bitmask
	        to quickly figure whether logging is neccessary. moved the API to
	        SfiMessage and sfi_msg_* namespace.

	        * sfithreads.h: added wrapper macros (and auxillary functions) to
	        access atomic integers and atomic pointers in a typesafe way.

	        * *.c: adapted to new debugging API.

2005-05-16  Tim Janik 	# b96fae1cf37

	Mon May 16 17:27:49 2005  Tim Janik  <timj@gtk.org>

	        * bsejanitor.h, bsejanitor.c, bsejanitor.proc:
	        added exit-code and exit-reason properties. logic cleanups so the
	        exit state is available for read outs once connected becomes FALSE.
	        API change so script_name and proc_name are always set together.

2005-05-16  Tim Janik 	# a6c4cff3a12

	Mon May 16 17:27:49 2005  Tim Janik  <timj@gtk.org>

	        * bsejanitor.h, bsejanitor.c, bsejanitor.proc:
	        added exit-code and exit-reason properties. logic cleanups so the
	        exit state is available for read outs once connected becomes FALSE.
	        API change so script_name and proc_name are always set together.

2005-05-14  Tim Janik 	# e0e8acc77ba

	Sat May 14 20:49:59 2005  Tim Janik  <timj@gtk.org>

	        * sfilog.h, sfilog.c:
	        cleanups. API cleanups and consolidations. allow custom log bits.
	        renamed message types from SFI_LOG_* to SFI_MSG_*.

2005-05-14  Tim Janik 	# bc664f12ac8

	Sat May 14 20:49:59 2005  Tim Janik  <timj@gtk.org>

	        * sfilog.h, sfilog.c:
	        cleanups. API cleanups and consolidations. allow custom log bits.
	        renamed message types from SFI_LOG_* to SFI_MSG_*.

2005-05-11  Tim Janik 	# feccd747060

	Thu May 12 00:07:51 2005  Tim Janik  <timj@gtk.org>

	        * sfilog.h, sfilog.c: made log message much richer.
	        messages now carry a title, a primary, a secondary message and
	        details messages. added sfi_log_msg() and a set of log message
	        formating macros SFI_MSG_*() to facilitate rich log messages.

2005-05-11  Tim Janik 	# 0ef14e144df

	Thu May 12 00:07:51 2005  Tim Janik  <timj@gtk.org>

	        * sfilog.h, sfilog.c: made log message much richer.
	        messages now carry a title, a primary, a secondary message and
	        details messages. added sfi_log_msg() and a set of log message
	        formating macros SFI_MSG_*() to facilitate rich log messages.

2005-05-11  Tim Janik 	# 5b10e42a329

	updates

2005-05-10  Tim Janik 	# 0e41284b1d4

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

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

2005-05-07  Tim Janik 	# f3c62cf2a84

	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.

2005-04-19  Tim Janik 	# fba04aa0019

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

	        * version 0.1.0-rc1.

2005-04-19  Tim Janik 	# 5c06eb9b4bf

	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.

2005-04-19  Tim Janik 	# 6698eb5d6d1

	distcheck fixes

2005-04-18  Tim Janik 	# 5510789c0d1

	shutup

2005-04-18  Tim Janik 	# 406c8a363cc

	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.

2005-04-17  Tim Janik 	# 1cfe45841fb

	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.

2005-04-17  Tim Janik 	# e58544dc6ce

	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.

2005-04-17  Tim Janik 	# 3195aeabef3

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

	        * examples/: new directory to compile example programs.

	        * examples/tour.cc: example skeleton.

2005-04-16  Tim Janik 	# 4b5c2d16b1f

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

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

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

	        * 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.

2005-04-15  Tim Janik 	# de5a22c4f6e

	shutup

2005-04-15  Tim Janik 	# ab72e5b5cdc

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

	        * tests/markup.cc: test markup parser.

2005-04-15  Tim Janik 	# d0568a00c4b

	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.

2005-04-15  Tim Janik 	# 4cd4c546359

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

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

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

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

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

	        * factory.hh, 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.

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

	        * private.hh: define MakeProperty() internally.

2005-04-15  Tim Janik 	# e63312fa6a0

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

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

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

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

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

	        * factory.hh, 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.

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

	        * private.hh: define MakeProperty() internally.

2005-03-31  Tim Janik 	# ad9782465ab

	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.

2005-03-31  Tim Janik 	# f5bd38ecc3b

	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.

2005-03-29  Tim Janik 	# 21b4a48e0d0

	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).

2005-03-29  Tim Janik 	# b6f0a49af7c

	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.

2005-03-28  Tim Janik 	# 17cbd7cc2d9

	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.

2005-03-28  Tim Janik 	# d28d39e2506

	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.

2005-03-27  Tim Janik 	# 3322b3eccd3

	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.

2005-03-27  Tim Janik 	# 14f3a6360cf

	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.

2005-03-27  Tim Janik 	# e176d6c55e7

	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.

2005-03-27  Tim Janik 	# 5b8fde2275e

	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.

2005-03-27  Tim Janik 	# 6fae14b3089

	Sun Mar 27 01:52:09 2005  Tim Janik  <timj@gtk.org>

	        * de.po: added german translation.

2005-03-27  Tim Janik 	# 632a43d12f8

	fixup

2005-03-27  Tim Janik 	# b26807a54c8

	added bmakefile for build rules

2005-03-27  Tim Janik 	# 9eb61030980

	shutup

2005-03-27  Tim Janik 	# a03c77e1f4f

	shutpu

2005-03-27  Tim Janik 	# 2e579a86d99

	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.

2005-03-26  Tim Janik 	# d6bea7348d4

	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/

2005-03-26  Tim Janik 	# 57fa85a7db3

	fix xmllinting stamp

2005-03-26  Tim Janik 	# a7c00c08395

	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.

2005-03-26  Tim Janik 	# d049dac8262

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

	        * rapicorn/standard.xml: empty skeleton.

	S

2005-03-26  Tim Janik 	# 07d2424c481

	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.

2005-03-26  Tim Janik 	# 964df29af03

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

	        * AUTHORS, NEWS, README: describe affairs.

2005-03-26  Tim Janik 	# a45e16074eb

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

	        * setup po files.

2005-03-26  Tim Janik 	# 5c43b80d1c1

	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.

2005-03-26  Tim Janik 	# b101fed54b0

	put project under LGPL

2005-03-26  Tim Janik 	# 6545aee6c8c

	add licenses

2005-03-26  Tim Janik 	# e43dfd6f474

	shutup

2005-03-26  Tim Janik 	# 821a9e7acb3

	add build files

2005-03-26  Tim Janik 	# 5a78fc81f1a

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

	        * acbirnet.m4: usefull autoconf macros.

2005-01-02  Stefan Westerfeld 	# d20ac19f757

	Sun Jan  2 15:23:35 2005  Stefan Westerfeld  <stefan@space.twc.de>

		* zintern/Makefile.am:
		* zintern/zintern.c: Use Scheme identifier style for zintern names.

		* zintern/gus-patch-mono.bse: Add a network for GUS Patch playback.

2005-01-02  Stefan Westerfeld 	# d997afddce9

	Sun Jan  2 15:23:35 2005  Stefan Westerfeld  <stefan@space.twc.de>

		* zintern/Makefile.am:
		* zintern/zintern.c: Use Scheme identifier style for zintern names.

		* zintern/gus-patch-mono.bse: Add a network for GUS Patch playback.

2004-12-27  Tim Janik 	# 5a660e9f37f

	Mon Dec 27 23:57:29 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: call sfi_ring_uniq() from sfi_ring_uniq_free_deep()
	        if no destroy functions is given.

2004-12-27  Tim Janik 	# 486850c2352

	Mon Dec 27 23:57:29 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: call sfi_ring_uniq() from sfi_ring_uniq_free_deep()
	        if no destroy functions is given.

2004-12-27  Tim Janik 	# 7e28bf37c22

	Mon Dec 27 03:42:17 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: added sfi_ring_uniq_free_deep() and
	        sfi_ring_copy_deep_uniq(). made sfi_ring_uniq() more efficient by
	        operating in place.

	        * testsfi.c: test sfi_ring_copy_uniq().

2004-12-27  Tim Janik 	# 5512a5063d9

	Mon Dec 27 03:42:17 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: added sfi_ring_uniq_free_deep() and
	        sfi_ring_copy_deep_uniq(). made sfi_ring_uniq() more efficient by
	        operating in place.

	        * testsfi.c: test sfi_ring_copy_uniq().

2004-12-27  Tim Janik 	# cbc8de42627

	Mon Dec 27 01:27:56 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.c: document guaranteed properties (stable-ness,
	        set precedence for duplicate elements, etc.) for ring functions.

2004-12-27  Tim Janik 	# 1561a0bb320

	Mon Dec 27 01:27:56 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.c: document guaranteed properties (stable-ness,
	        set precedence for duplicate elements, etc.) for ring functions.

2004-12-26  Tim Janik 	# a3904d54f18

	Sun Dec 26 23:50:16 2004  Tim Janik  <timj@gtk.org>

	        * sfilog.c: cosmetics, strip path from executable names if logging
	        debugging info.

2004-12-26  Tim Janik 	# 970b7c267cc

	Sun Dec 26 23:50:16 2004  Tim Janik  <timj@gtk.org>

	        * sfilog.c: cosmetics, strip path from executable names if logging
	        debugging info.

2004-11-23  Tim Janik 	# 31b27f0bb8f

	Tue Nov 23 16:25:05 2004  Tim Janik  <timj@gtk.org>

	        * glib-extra.h (g_static_assert): g++-3.4 doesn't accept structure casts
	        in constant expressions (e.g. G_STRUCT_OFFSET (GPollFD, fd) ==
	        G_STRUCT_OFFSET (struct pollfd, fd)), so implement static_assert() via
	        negative array sizes.

2004-11-23  Tim Janik 	# 9ed81ef341d

	Tue Nov 23 16:25:05 2004  Tim Janik  <timj@gtk.org>

	        * glib-extra.h (g_static_assert): g++-3.4 doesn't accept structure casts
	        in constant expressions (e.g. G_STRUCT_OFFSET (GPollFD, fd) ==
	        G_STRUCT_OFFSET (struct pollfd, fd)), so implement static_assert() via
	        negative array sizes.

2004-10-15  Tim Janik 	# cac9476d54e

	Fri Oct 15 23:59:46 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]:
	        sfi_pointer_cmp(): renamed from sfi_compare_pointers(), changed users.
	        sfi_ring_uniq(): made this an ring modifying rather than copying
	        function. this plugs some leaks in current function usages.
	        sfi_ring_copy_uniq(): copy ring and remove duplicates.

	        * testsfi.c: adapt to sfi_ring_uniq() modifying inplace now.

2004-10-15  Tim Janik 	# b2797cacbe9

	Fri Oct 15 23:59:46 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]:
	        sfi_pointer_cmp(): renamed from sfi_compare_pointers(), changed users.
	        sfi_ring_uniq(): made this an ring modifying rather than copying
	        function. this plugs some leaks in current function usages.
	        sfi_ring_copy_uniq(): copy ring and remove duplicates.

	        * testsfi.c: adapt to sfi_ring_uniq() modifying inplace now.

2004-10-13  Tim Janik 	# 0a1571369a5

	Wed Oct 13 18:50:19 2004  Tim Janik  <timj@gtk.org>

	        * sfithreads.[hc]: reworked hazard pointer guard API.
	        sfi_guard_register(): provide an array of hazard pointers in
	        O(1) time if this thread previously deregistered an array
	        of sufficient size.
	        sfi_guard_protect(): renamed from sfi_guard_store(), require
	        array index to adress hazard pointer within guard.
	        sfi_guard_n_snap_values(): renamed.
	        sfi_guard_snap_values(): renamed, provide ordering guarantee.
	        sfi_guard_is_protected(): provide ordering guarantee.

2004-10-13  Tim Janik 	# e9ca7b02121

	Wed Oct 13 18:50:19 2004  Tim Janik  <timj@gtk.org>

	        * sfithreads.[hc]: reworked hazard pointer guard API.
	        sfi_guard_register(): provide an array of hazard pointers in
	        O(1) time if this thread previously deregistered an array
	        of sufficient size.
	        sfi_guard_protect(): renamed from sfi_guard_store(), require
	        array index to adress hazard pointer within guard.
	        sfi_guard_n_snap_values(): renamed.
	        sfi_guard_snap_values(): renamed, provide ordering guarantee.
	        sfi_guard_is_protected(): provide ordering guarantee.

2004-10-12  Tim Janik 	# 0f6928616fe

	Tue Oct 12 10:58:21 2004  Tim Janik  <timj@gtk.org>

	        * sfithreads.[hc]: implemented hazard pointers or thread guards.
	        sfi_thread_handle_deleted(): clear thread data after the wakeup destroy
	        function has been called. deregister all thread guards.
	        sfi_guard_deregister():
	        sfi_guard_register(): register/deregister guards.
	        sfi_guard_store(): protect a pointer via a guard.
	        sfi_guard_get_n_values(): number of values for collection.
	        sfi_guard_collect(): collected protected pointers.
	        sfi_guard_is_protected(): check single pointer protection.

2004-10-12  Tim Janik 	# 32498ffe70e

	Tue Oct 12 10:58:21 2004  Tim Janik  <timj@gtk.org>

	        * sfithreads.[hc]: implemented hazard pointers or thread guards.
	        sfi_thread_handle_deleted(): clear thread data after the wakeup destroy
	        function has been called. deregister all thread guards.
	        sfi_guard_deregister():
	        sfi_guard_register(): register/deregister guards.
	        sfi_guard_store(): protect a pointer via a guard.
	        sfi_guard_get_n_values(): number of values for collection.
	        sfi_guard_collect(): collected protected pointers.
	        sfi_guard_is_protected(): check single pointer protection.

2004-10-05  Tim Janik 	# 6c03a354076

	Tue Oct  5 22:48:52 2004  Tim Janik  <timj@gtk.org>

	        * sficxx.h:
	        * sfivalues.c:
	        * sfidl-corec.cc:
	        * glib-extra.h: did code cleanups possible with Glib-2.4.

2004-10-05  Tim Janik 	# a131f454213

	Tue Oct  5 22:48:52 2004  Tim Janik  <timj@gtk.org>

	        * sficxx.h:
	        * sfivalues.c:
	        * sfidl-corec.cc:
	        * glib-extra.h: did code cleanups possible with Glib-2.4.

2004-10-04  Tim Janik 	# fef2f1cc1ed

	Mon Oct  4 03:44:03 2004  Tim Janik  <timj@gtk.org>

	        * sfiparams.c: fixed param-spec leaks.

	        * sfilog.[hc]: changed logging to use a handler per-thread.

	        * sfiprimitives.[hc]: added sfi_seq_validate().

2004-10-04  Tim Janik 	# 1d0931755b3

	Mon Oct  4 03:44:03 2004  Tim Janik  <timj@gtk.org>

	        * sfiparams.c: fixed param-spec leaks.

	        * sfilog.[hc]: changed logging to use a handler per-thread.

	        * sfiprimitives.[hc]: added sfi_seq_validate().

2004-10-02  Tim Janik 	# 2233a8c3ad8

	docu fixup

2004-10-02  Tim Janik 	# fd678f86672

	docu fixup

2004-10-02  Tim Janik 	# 58024698d1c

	Sat Oct  2 21:01:44 2004  Tim Janik  <timj@gtk.org>

	        * sfilog.[hc]: revamped logging API. sfi_warn() became sfi_warning().
	        sfi_error(), sfi_warning(), sfi_info() and sfi_diag() do not take an
	        extra argument anymore. they are meant to indicate user visible errors,
	        warnings and informations, and if requested, diagnostics.
	        new variants exist for user configurable error, warning and information
	        messages: sfi_error_msg(), sfi_warning_msg(), sfi_info_msg(). these
	        take an extra configuration relevant (and translated) argument.
	        some more API cleanups wrg logging system configuration.

	        * sfithreads.[hc]: added sfi_thread_get_pid(), sfi_thread_get_name().

2004-10-02  Tim Janik 	# d711b7a1668

	Sat Oct  2 21:01:44 2004  Tim Janik  <timj@gtk.org>

	        * sfilog.[hc]: revamped logging API. sfi_warn() became sfi_warning().
	        sfi_error(), sfi_warning(), sfi_info() and sfi_diag() do not take an
	        extra argument anymore. they are meant to indicate user visible errors,
	        warnings and informations, and if requested, diagnostics.
	        new variants exist for user configurable error, warning and information
	        messages: sfi_error_msg(), sfi_warning_msg(), sfi_info_msg(). these
	        take an extra configuration relevant (and translated) argument.
	        some more API cleanups wrg logging system configuration.

	        * sfithreads.[hc]: added sfi_thread_get_pid(), sfi_thread_get_name().

2004-09-29  Tim Janik 	# 1556852fbf8

	comment fixups

2004-09-29  Tim Janik 	# e4ec7b7ecbc

	comment fixups

2004-09-06  Tim Janik 	# 2003fea3858

	Mon Sep  6 12:35:27 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.c (sfi_ring_reorder): fixed pointer comparision
	        function that caused an unsorted intermediate structure.

	        * testsfi.c (test_sfi_ring): added one more sfi_ring_reorder() test.

2004-09-06  Tim Janik 	# a006f7a93ef

	Mon Sep  6 12:35:27 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.c (sfi_ring_reorder): fixed pointer comparision
	        function that caused an unsorted intermediate structure.

	        * testsfi.c (test_sfi_ring): added one more sfi_ring_reorder() test.

2004-09-01  Tim Janik 	# eaf466207a7

	Wed Sep  1 01:45:40 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]:
	        sfi_ring_reorder(): changed this into a ring modifying function without
	        the need of a custom cmp function.
	        properly handle duplicates in the unordered list.
	        ring_reorder_lookup(): fixed off-by-one error when adjusting offset,
	        got rid of calling compare function by using pointer comparisons.

	        * testsfi.c: more sfi_ring_reorder() tests.

2004-09-01  Tim Janik 	# 22e7b318617

	Wed Sep  1 01:45:40 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]:
	        sfi_ring_reorder(): changed this into a ring modifying function without
	        the need of a custom cmp function.
	        properly handle duplicates in the unordered list.
	        ring_reorder_lookup(): fixed off-by-one error when adjusting offset,
	        got rid of calling compare function by using pointer comparisons.

	        * testsfi.c: more sfi_ring_reorder() tests.

2004-08-28  Tim Janik 	# 68e8ad48638

	Sat Aug 28 22:14:30 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: const fixes for SfiRing.
	        added sfi_ring_reorder() to "unsort" a ring.

	        * sfifilecrawler.c: caller fixup.

	        * testsfi.c: ring reordering tests.

2004-08-28  Tim Janik 	# e61791d69bc

	Sat Aug 28 22:14:30 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: const fixes for SfiRing.
	        added sfi_ring_reorder() to "unsort" a ring.

	        * sfifilecrawler.c: caller fixup.

	        * testsfi.c: ring reordering tests.

2004-08-28  Tim Janik 	# e6af2ee086d

	Sat Aug 28 17:53:30 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: added SfiRing methods: sfi_ring_insert_before(),
	        sfi_ring_insert(), sfi_ring_position(), sfi_ring_index().

	Thu Aug 26 13:13:11 2004  Tim Janik  <timj@gtk.org>

	        * sfidl-corec.cc: use make_TYPE_MACRO() instead of makeGTypeName().
	        don't use typeArray() of CodeGeneratorCBase, that's simply type + "*".
	        roll out own pspec constructor function construct_pspec() which is
	        simpler than that of CodeGeneratorCBase. removed cruft.
	        changed base type to CodeGenerator, as there's nothing left we'd
	        use from CBase. (this also fixes SfiProxy uses instead BseItem in
	        the core binding).

2004-08-28  Tim Janik 	# 2c639001642

	Sat Aug 28 17:53:30 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: added SfiRing methods: sfi_ring_insert_before(),
	        sfi_ring_insert(), sfi_ring_position(), sfi_ring_index().

	Thu Aug 26 13:13:11 2004  Tim Janik  <timj@gtk.org>

	        * sfidl-corec.cc: use make_TYPE_MACRO() instead of makeGTypeName().
	        don't use typeArray() of CodeGeneratorCBase, that's simply type + "*".
	        roll out own pspec constructor function construct_pspec() which is
	        simpler than that of CodeGeneratorCBase. removed cruft.
	        changed base type to CodeGenerator, as there's nothing left we'd
	        use from CBase. (this also fixes SfiProxy uses instead BseItem in
	        the core binding).

2004-07-17  Tim Janik 	# ee0bf602fe1

	Sat Jul 17 13:24:57 2004  Tim Janik  <timj@gtk.org>

	        * sficxx.h: implement iterators for sequences and fblocks.

	        * sfiprimitives.[hc]: allow foreign memory regions for fblocks.

2004-07-17  Tim Janik 	# 51710bc3483

	Sat Jul 17 13:24:57 2004  Tim Janik  <timj@gtk.org>

	        * sficxx.h: implement iterators for sequences and fblocks.

	        * sfiprimitives.[hc]: allow foreign memory regions for fblocks.

2004-07-14  Tim Janik 	# 48a74101bf9

	Wed Jul 14 01:54:54 2004  Tim Janik  <timj@gtk.org>

	        * sfithreads.c: use syscall (__NR_gettid) instead of
	        _syscall0() which isn't present on ia64 linux. fixed
	        initial accounting values.

2004-07-14  Tim Janik 	# d4272d6ad27

	Wed Jul 14 01:54:54 2004  Tim Janik  <timj@gtk.org>

	        * sfithreads.c: use syscall (__NR_gettid) instead of
	        _syscall0() which isn't present on ia64 linux. fixed
	        initial accounting values.

2004-07-11  Tim Janik 	# f16ffc8368d

	Sun Jul 11 23:57:10 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: added sfi_ring_from_list(),
	        sfi_ring_from_list_and_free(), sfi_ring_from_slist() and
	        sfi_ring_from_slist_and_free() ring constructors.

2004-07-11  Tim Janik 	# ee498e9953e

	Sun Jul 11 23:57:10 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: added sfi_ring_from_list(),
	        sfi_ring_from_list_and_free(), sfi_ring_from_slist() and
	        sfi_ring_from_slist_and_free() ring constructors.

2004-07-11  Tim Janik 	# 0a791137a10

	Sun Jul 11 23:37:46 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]:
	        added SfiCompareFunc(), sfi_compare_pointers() and a set of
	        new ring methods:
	        sfi_ring_copy_rest(): copy a partial ring.
	        sfi_ring_uniq(): remove duplicate ring elements.
	        sfi_ring_union(): produce a union of two rings.
	        sfi_ring_intersection(): produce an intersection of two rings.
	        sfi_ring_difference(): produce a set-difference on rings.
	        sfi_ring_symmetric_difference(): produce a symmetric set-difference
	        on rings.
	        sfi_ring_includes(): test super/sub set relation.
	        sfi_ring_equals(): test ring equality.
	        sfi_ring_mismatch(): find mismatching ring elements.
	        sfi_ring_min_node():
	        sfi_ring_min():
	        sfi_ring_max_node():
	        sfi_ring_max(): find minimum/maximum in rings respectively.

	        * testsfi.c: added SfiRing implementation test.

2004-07-11  Tim Janik 	# cd1059c9ea6

	Sun Jul 11 23:37:46 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]:
	        added SfiCompareFunc(), sfi_compare_pointers() and a set of
	        new ring methods:
	        sfi_ring_copy_rest(): copy a partial ring.
	        sfi_ring_uniq(): remove duplicate ring elements.
	        sfi_ring_union(): produce a union of two rings.
	        sfi_ring_intersection(): produce an intersection of two rings.
	        sfi_ring_difference(): produce a set-difference on rings.
	        sfi_ring_symmetric_difference(): produce a symmetric set-difference
	        on rings.
	        sfi_ring_includes(): test super/sub set relation.
	        sfi_ring_equals(): test ring equality.
	        sfi_ring_mismatch(): find mismatching ring elements.
	        sfi_ring_min_node():
	        sfi_ring_min():
	        sfi_ring_max_node():
	        sfi_ring_max(): find minimum/maximum in rings respectively.

	        * testsfi.c: added SfiRing implementation test.

2004-06-11  Tim Janik 	# f1b922eb070

	Fri Jun 11 04:40:08 2004  Tim Janik  <timj@gtk.org>

	        * sfidl-corecxx.cc: procedure generation fix.

	        * sfithreads.[hc]: implemented thread naming and usage accounting.

2004-06-11  Tim Janik 	# 86de232624f

	Fri Jun 11 04:40:08 2004  Tim Janik  <timj@gtk.org>

	        * sfidl-corecxx.cc: procedure generation fix.

	        * sfithreads.[hc]: implemented thread naming and usage accounting.

2004-05-05  Tim Janik 	# eda787070a1

	Wed May  5 16:37:26 2004  Tim Janik  <timj@gtk.org>

	        * sfilog.[hc]: rewrite of the logging/debugging system.
	        debugging messages still need a key, diagnostics and
	        simple messages are as easy as printf() to sdterr and
	        everything else requires log context information for
	        message configuration.

	        * *.c: adapted log, error, warning and debugging messages.

2004-05-05  Tim Janik 	# 4c367e2f4a7

	Wed May  5 16:37:26 2004  Tim Janik  <timj@gtk.org>

	        * sfilog.[hc]: rewrite of the logging/debugging system.
	        debugging messages still need a key, diagnostics and
	        simple messages are as easy as printf() to sdterr and
	        everything else requires log context information for
	        message configuration.

	        * *.c: adapted log, error, warning and debugging messages.

2004-04-25  Tim Janik 	# cdc36ab1ffe

	Sun Apr 25 18:07:13 2004  Tim Janik  <timj@gtk.org>

	        * sfithreads.c (thread_get_tid): minor preprocessor condition fix.

2004-04-25  Tim Janik 	# 7fa385a478a

	Sun Apr 25 18:07:13 2004  Tim Janik  <timj@gtk.org>

	        * sfithreads.c (thread_get_tid): minor preprocessor condition fix.

2004-02-25  Tim Janik 	# e13e8004e09

	Wed Feb 25 14:46:33 2004  Tim Janik  <timj@gtk.org>

	        * sficomwire.c (sfi_com_spawn_async): drop nice-level after forking.

	        * sfithreads.[hc]: added sfi_thread_self_pid() which returns the threads
	        thread id, regardless of multiple threads using the same pid.
	        (sfi_thread_run): added hack to filter out bogus "Priorities can only be
	        increased by root." warnings from glib around thread creation.

2004-02-25  Tim Janik 	# 9f6d63b01ad

	Wed Feb 25 14:46:33 2004  Tim Janik  <timj@gtk.org>

	        * sficomwire.c (sfi_com_spawn_async): drop nice-level after forking.

	        * sfithreads.[hc]: added sfi_thread_self_pid() which returns the threads
	        thread id, regardless of multiple threads using the same pid.
	        (sfi_thread_run): added hack to filter out bogus "Priorities can only be
	        increased by root." warnings from glib around thread creation.

2004-02-11  Tim Janik 	# d6785f377e5

	Wed Feb 11 08:09:57 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.c: applied sfi_seq_append_empty() code simplification
	        patch from Stefan Westerfeld.

	        * sfiglue.c: same here.

2004-02-11  Tim Janik 	# 499df26620c

	Wed Feb 11 08:09:57 2004  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.c: applied sfi_seq_append_empty() code simplification
	        patch from Stefan Westerfeld.

	        * sfiglue.c: same here.

2004-02-04  Stefan Westerfeld 	# afee143be01

	Wed Feb  4 22:37:56 2004  Stefan Westerfeld  <stefan@space.twc.de>

		* sfilog.c: Speed optimization: Lookup the GQuark for the sfi log
		key in the init function instead of during each log message.

		* sfivalues.c: Speed optimization: Use sfi_categorize_type() to find
		out which type src_value has in sfi_value_copy_deep(), instead of
		multiple if statements.

2004-02-04  Stefan Westerfeld 	# 90939bfae11

	Wed Feb  4 22:37:56 2004  Stefan Westerfeld  <stefan@space.twc.de>

		* sfilog.c: Speed optimization: Lookup the GQuark for the sfi log
		key in the init function instead of during each log message.

		* sfivalues.c: Speed optimization: Use sfi_categorize_type() to find
		out which type src_value has in sfi_value_copy_deep(), instead of
		multiple if statements.

2004-01-25  Tim Janik 	# 4dfaae97b50

	Sun Jan 25 04:41:23 2004  Tim Janik  <timj@gtk.org>

	        * bse-plugin-generator.cc: convert to sfidl code generator
	        factories. use "--module" factory.

	        * sfidl-module.h: removed (disabled) class definition.

	        * sfidl-module.cc: rewrote code generator into self-contained
	        language-binding object.

	        * sfiprimitives.[hc]: added sfi_seq_append_empty() and
	        sfi_rec_forced_get() to simplify code generation.

2004-01-25  Tim Janik 	# f606834cfbb

	Sun Jan 25 04:41:23 2004  Tim Janik  <timj@gtk.org>

	        * bse-plugin-generator.cc: convert to sfidl code generator
	        factories. use "--module" factory.

	        * sfidl-module.h: removed (disabled) class definition.

	        * sfidl-module.cc: rewrote code generator into self-contained
	        language-binding object.

	        * sfiprimitives.[hc]: added sfi_seq_append_empty() and
	        sfi_rec_forced_get() to simplify code generation.

2003-12-04  Tim Janik 	# a2b4edadbbf

	Fri Dec  5 00:35:24 2003  Tim Janik  <timj@gtk.org>

	        * glib-extra.c: handle NULL for intern_string variants.

	        * sfiprimitives.[hc]: added sfi_ring_append_uniq().

2003-12-04  Tim Janik 	# d2f6c170ddc

	Fri Dec  5 00:35:24 2003  Tim Janik  <timj@gtk.org>

	        * glib-extra.c: handle NULL for intern_string variants.

	        * sfiprimitives.[hc]: added sfi_ring_append_uniq().

2003-07-23  Tim Janik 	# 3b8ba45e6c0

	Thu Jul 24 01:28:33 2003  Tim Janik  <timj@gtk.org>

	        * bsemidievent.[hc]: remove MIDI_MAX_CHANNEL assertions, up this to 99.

	        * bsemidireceiver.[hc]: remove MIDI_MAX_CHANNEL assertions.
	        add voice module ref counting.
	        (bse_midi_receiver_voices_pending): check poending voices for a specific
	        midi-channel.

	        * bsemidivoice.c: don't export private functions.

	        * bseproject.[hc]: provide a single midi-receiver for the whole project.

	        * bsetrack.[hc]: don't provide own midi receiver, use the one from our
	        song instead. added midi-channel property per track, per default, an
	        internal midi-channel > MIDI_MAX_CHANNEL is used.

	        * bsesong.[hcp]*: fetch midi-receiver from project once parent changes.
	        provide tracks with midi receiver when creating voices. honour
	        midi-channels of tracks.

	        * bsessequencer.c: operate on the song's midi receiver, honour
	        midi-channels of tracks.

2003-07-23  Tim Janik 	# e11e6e24311

	Thu Jul 24 01:28:33 2003  Tim Janik  <timj@gtk.org>

	        * bsemidievent.[hc]: remove MIDI_MAX_CHANNEL assertions, up this to 99.

	        * bsemidireceiver.[hc]: remove MIDI_MAX_CHANNEL assertions.
	        add voice module ref counting.
	        (bse_midi_receiver_voices_pending): check poending voices for a specific
	        midi-channel.

	        * bsemidivoice.c: don't export private functions.

	        * bseproject.[hc]: provide a single midi-receiver for the whole project.

	        * bsetrack.[hc]: don't provide own midi receiver, use the one from our
	        song instead. added midi-channel property per track, per default, an
	        internal midi-channel > MIDI_MAX_CHANNEL is used.

	        * bsesong.[hcp]*: fetch midi-receiver from project once parent changes.
	        provide tracks with midi receiver when creating voices. honour
	        midi-channels of tracks.

	        * bsessequencer.c: operate on the song's midi receiver, honour
	        midi-channels of tracks.

2003-07-14  Tim Janik 	# 3ac79ba69ee

	Mon Jul 14 16:43:20 2003  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: added sfi_seq_from_cstrv(), a variant of
	        sfi_seq_from_strv() for const gchar**.

	        * sfiglue.[hc]: changed gchar** returns to const gchar** returns
	        where apropriate.

	        * sfigluecodec.c: fixed sequence reference count leak.

	        * sfithreads.c: sched_yield() is not available on NetBSD, reported
	        by collver1@comcast.net.

	        * toyprof-mem.c:
	        * toyprof.c: fix pointless gcc warnings.

	        * toyprof.h: special case toyprof code for GLIBC >= 2.2, since we
	        use _r_debug.

2003-07-14  Tim Janik 	# 5d42c0b341f

	Mon Jul 14 16:43:20 2003  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: added sfi_seq_from_cstrv(), a variant of
	        sfi_seq_from_strv() for const gchar**.

	        * sfiglue.[hc]: changed gchar** returns to const gchar** returns
	        where apropriate.

	        * sfigluecodec.c: fixed sequence reference count leak.

	        * sfithreads.c: sched_yield() is not available on NetBSD, reported
	        by collver1@comcast.net.

	        * toyprof-mem.c:
	        * toyprof.c: fix pointless gcc warnings.

	        * toyprof.h: special case toyprof code for GLIBC >= 2.2, since we
	        use _r_debug.

2003-05-05  Tim Janik 	# 99d32da20dd

	Mon May  5 03:16:51 2003  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: added sfi_ring_test_length(l) to figure whether
	        a ring has >=l elements in at most O(l) time.
	        (sfi_ring_free_deep): adapted to g_[s]list_free_deep().

	        * sfiustore.[hc]: added SfiUPool which is simply an SfiUStore
	        without a value per key, i.e. a simple id hash set. currently
	        wastefully implemented, should be optimized at some point.

	        * glib-extra.[hc]: added g_list_free_deep() and g_slist_free_deep().

	        * sfiglueproxy.[hc]: export sfi_glue_proxy_get_signal_quark() to fetch
	        a quark from a cononified signal name.
	        removed _sfi_glue_proxy_request_notify() which is implemented in
	        sfiglue.c now.
	        (delete_signal):
	        (fetch_signal): use _sfi_glue_proxy_request_notify() instead of
	        accessing the vtable directly.
	        (_sfi_glue_signal_find_closures):
	        (sfi_glue_signal_disconnect):
	        (sfi_glue_proxy_weak_unref): don't demand create a local proxy struct.
	        (sfi_glue_proxy_cancel_matched_event): filter signal events from
	        disconnected signals and flag them for cancellation.
	        (_sfi_glue_proxy_dispatch_event): handle cancelled signal events by
	        just acknowledging the notification id.

	        * sfiglue.[hc]: moved _sfi_glue_proxy_request_notify() here from
	        sfiglueproxy.c. for disconnecitons, we now filter out the local event
	        queue after calling remote.

2003-05-05  Tim Janik 	# beec2ac4223

	Mon May  5 03:16:51 2003  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: added sfi_ring_test_length(l) to figure whether
	        a ring has >=l elements in at most O(l) time.
	        (sfi_ring_free_deep): adapted to g_[s]list_free_deep().

	        * sfiustore.[hc]: added SfiUPool which is simply an SfiUStore
	        without a value per key, i.e. a simple id hash set. currently
	        wastefully implemented, should be optimized at some point.

	        * glib-extra.[hc]: added g_list_free_deep() and g_slist_free_deep().

	        * sfiglueproxy.[hc]: export sfi_glue_proxy_get_signal_quark() to fetch
	        a quark from a cononified signal name.
	        removed _sfi_glue_proxy_request_notify() which is implemented in
	        sfiglue.c now.
	        (delete_signal):
	        (fetch_signal): use _sfi_glue_proxy_request_notify() instead of
	        accessing the vtable directly.
	        (_sfi_glue_signal_find_closures):
	        (sfi_glue_signal_disconnect):
	        (sfi_glue_proxy_weak_unref): don't demand create a local proxy struct.
	        (sfi_glue_proxy_cancel_matched_event): filter signal events from
	        disconnected signals and flag them for cancellation.
	        (_sfi_glue_proxy_dispatch_event): handle cancelled signal events by
	        just acknowledging the notification id.

	        * sfiglue.[hc]: moved _sfi_glue_proxy_request_notify() here from
	        sfiglueproxy.c. for disconnecitons, we now filter out the local event
	        queue after calling remote.

2003-03-10  Tim Janik 	# f8e0d193798

	build and include fixes

2003-03-10  Tim Janik 	# 9c3b574e22d

	build and include fixes

2003-03-07  Tim Janik 	# f1c1215c17f

	Fri Mar  7 14:50:16 2003  Tim Janik  <timj@gtk.org>

	        * sfilog.[hc]: cleaned things up, added key based debugging
	        and info filter.

	        * sfi*.c: use SFI for debugging.

2003-03-07  Tim Janik 	# 6a38ea72acc

	Fri Mar  7 14:50:16 2003  Tim Janik  <timj@gtk.org>

	        * sfilog.[hc]: cleaned things up, added key based debugging
	        and info filter.

	        * sfi*.c: use SFI for debugging.

2003-02-18  Stefan Westerfeld 	# b9d2b1e95d5

	Tue Feb 18 17:47:17 2003  Stefan Westerfeld  <stefan@space.twc.de>

		* bseautodoc.c bsebindata.c bseconstant.c bsecontextmerger.c
		bsedatapocket.c bseitem.c bsemagictest.c bseparasite.c
		bsepcmdevice-oss.c bsequery.c bseserver.c bsestandardsynths.c
		bsesubinstrument.c bsesubiport.c bsesubkeyboard.c bsesuboport.c
		bsesubsynth.c bsewave.c gslffttest.c gslfilter.c
		gslloader-oggvorbis.c gslloader-wav.c gslwaveosc.c gslwchunk.c
		zintern/zintern.c: fixes to build without warnings on gcc-3.2.

2003-02-18  Stefan Westerfeld 	# a8d33677069

	Tue Feb 18 17:47:17 2003  Stefan Westerfeld  <stefan@space.twc.de>

		* bseautodoc.c bsebindata.c bseconstant.c bsecontextmerger.c
		bsedatapocket.c bseitem.c bsemagictest.c bseparasite.c
		bsepcmdevice-oss.c bsequery.c bseserver.c bsestandardsynths.c
		bsesubinstrument.c bsesubiport.c bsesubkeyboard.c bsesuboport.c
		bsesubsynth.c bsewave.c gslffttest.c gslfilter.c
		gslloader-oggvorbis.c gslloader-wav.c gslwaveosc.c gslwchunk.c
		zintern/zintern.c: fixes to build without warnings on gcc-3.2.

2003-02-18  Stefan Westerfeld 	# 8543a90c4a0

	Tue Feb 18 16:39:38 2003  Stefan Westerfeld  <stefan@space.twc.de>

		* sfimemory.c sfinote.c sfiprimitives.c sfithreads.c sfitypes.c
		testsfi.c toyprof-mem.c: fixes to build without warnings on gcc-3.2.

2003-02-18  Stefan Westerfeld 	# 7b389907e33

	Tue Feb 18 16:39:38 2003  Stefan Westerfeld  <stefan@space.twc.de>

		* sfimemory.c sfinote.c sfiprimitives.c sfithreads.c sfitypes.c
		testsfi.c toyprof-mem.c: fixes to build without warnings on gcc-3.2.

2003-02-18  Tim Janik 	# c7113cb162c

	Tue Feb 18 16:29:17 2003  Tim Janik  <timj@gtk.org>

	        * sfilog.c (sfi_log_message): refine debugging messages.

2003-02-18  Tim Janik 	# eb4d85caa13

	Tue Feb 18 16:29:17 2003  Tim Janik  <timj@gtk.org>

	        * sfilog.c (sfi_log_message): refine debugging messages.

2003-02-13  Tim Janik 	# bc1778d3112

	Thu Feb 13 10:43:23 2003  Tim Janik  <timj@gtk.org>

	        * bsequery.c: support "synthlist" and "synth" qualifiers to retrieve
	        dumps of standard synth definitions.

	        * bsestandardsynths.[hc]: nuked old synth generation code. added
	        bse_standard_synth_get_list() and bse_standard_synth_lookup() to
	        retrieve standard synth definitions.

	        * zintern/mono-wave.bse: added mono wave synth.

	        * zintern/zintern.c: small utility to generate C source to inline
	        file contents, supporting libz compression of the file contents.

	        * zintern/Makefile.am: added new subdir zintern/ for inlined BSE
	        files (synth definitions).

2003-02-13  Tim Janik 	# 90e1cc2e5c1

	Thu Feb 13 10:43:23 2003  Tim Janik  <timj@gtk.org>

	        * bsequery.c: support "synthlist" and "synth" qualifiers to retrieve
	        dumps of standard synth definitions.

	        * bsestandardsynths.[hc]: nuked old synth generation code. added
	        bse_standard_synth_get_list() and bse_standard_synth_lookup() to
	        retrieve standard synth definitions.

	        * zintern/mono-wave.bse: added mono wave synth.

	        * zintern/zintern.c: small utility to generate C source to inline
	        file contents, supporting libz compression of the file contents.

	        * zintern/Makefile.am: added new subdir zintern/ for inlined BSE
	        files (synth definitions).

2003-01-20  Tim Janik 	# 2fd79bb3b39

	Sat Jan 18 05:15:46 2003  Tim Janik  <timj@gtk.org>

	        * sfilog.[hc]: improved logging output, add with_key() variants
	        for sfi_debug(), sfi_nodebug() and sfi_info() to support detailed
	        (de-)activation of certain messages (filtering mechanism not yet
	        in place though).

	Thu Jan 16 23:26:25 2003  Tim Janik  <timj@gtk.org>

	        * sfiparams.h: added SFI_PARAM_GUI_READABLE and SFI_PARAM_GUI_WRITABLE
	        which are pspec hints that really are just readable or writable.

2003-01-20  Tim Janik 	# d53badff9fc

	Sat Jan 18 05:15:46 2003  Tim Janik  <timj@gtk.org>

	        * sfilog.[hc]: improved logging output, add with_key() variants
	        for sfi_debug(), sfi_nodebug() and sfi_info() to support detailed
	        (de-)activation of certain messages (filtering mechanism not yet
	        in place though).

	Thu Jan 16 23:26:25 2003  Tim Janik  <timj@gtk.org>

	        * sfiparams.h: added SFI_PARAM_GUI_READABLE and SFI_PARAM_GUI_WRITABLE
	        which are pspec hints that really are just readable or writable.

2003-01-03  Tim Janik 	# 96170308551

	Fri Jan  3 19:16:49 2003  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: export functionality to merge two
	        sorted rings (sfi_ring_merge_sorted).

2003-01-03  Tim Janik 	# 29d0073a19d

	Fri Jan  3 19:16:49 2003  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: export functionality to merge two
	        sorted rings (sfi_ring_merge_sorted).

2002-12-31  Tim Janik 	# 8c7de31b947

	Tue Dec 31 03:01:30 2002  Tim Janik  <timj@gtk.org>

	        * toyprof.[hc], toyprof.README, toyprof.pl: moved
	        toyprof code from BSE to here.

	        * toyprof-mem.[hc]: added GLibc specific memory profiler.

	        * sfiprimitives.c: allocate SfiRec, SfiSeq, SfiBBlock and
	        SfiFBlock via memblocks.

	        * sfivalues.[hc]: added sfi_value_rec_take_ref() and
	        sfi_value_seq_take_ref() which are value constructors
	        that take over the intial reference count of a rec or seq,
	        needed by sfidl.

	        * sfigluecodec.c (sfi_glue_decoder_dispatch): run gc at the
	        end of dispatch.

	        * sfidl.cc (createTypeCode): fix reference counting of records and
	        sequences, so we don't leak upon every conversion in generated code.

2002-12-31  Tim Janik 	# 0e4dae6666f

	Tue Dec 31 03:01:30 2002  Tim Janik  <timj@gtk.org>

	        * toyprof.[hc], toyprof.README, toyprof.pl: moved
	        toyprof code from BSE to here.

	        * toyprof-mem.[hc]: added GLibc specific memory profiler.

	        * sfiprimitives.c: allocate SfiRec, SfiSeq, SfiBBlock and
	        SfiFBlock via memblocks.

	        * sfivalues.[hc]: added sfi_value_rec_take_ref() and
	        sfi_value_seq_take_ref() which are value constructors
	        that take over the intial reference count of a rec or seq,
	        needed by sfidl.

	        * sfigluecodec.c (sfi_glue_decoder_dispatch): run gc at the
	        end of dispatch.

	        * sfidl.cc (createTypeCode): fix reference counting of records and
	        sequences, so we don't leak upon every conversion in generated code.

2002-12-30  Tim Janik 	# 91d1f5dbedc

	Mon Dec 30 01:06:12 2002  Tim Janik  <timj@gtk.org>

	        * merged sfk-launch branch into HEAD. oddly enough, there's
	        still no SFK yet. BSE uses an SFI based middle ware layer
	        now which supports structure definitions in IDL files and
	        contains the neccessary logic to seperate BSE into an extra
	        thread (in or out of process) and generate client side API
	        wrapper code.

2002-12-30  Tim Janik 	# eda4bda14f5

	Mon Dec 30 01:06:12 2002  Tim Janik  <timj@gtk.org>

	        * merged sfk-launch branch into HEAD. oddly enough, there's
	        still no SFK yet. BSE uses an SFI based middle ware layer
	        now which supports structure definitions in IDL files and
	        contains the neccessary logic to seperate BSE into an extra
	        thread (in or out of process) and generate client side API
	        wrapper code.

2002-10-23  Tim Janik 	# f6eb4d3620d

	Wed Oct 23 20:28:01 2002  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.h: provide convenience setters for record fields.

2002-10-23  Tim Janik 	# ea8022f30ff

	Wed Oct 23 20:28:01 2002  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.h: provide convenience setters for record fields.

2002-10-23  Tim Janik 	# a0e27a0f52c

	Wed Oct 23 19:25:40 2002  Tim Janik  <timj@gtk.org>

	        * sfivalues.[hc]:
	        * sfiparams.[hc]: s/param_spec/pspec/ due to stefan's command.
	        introduce pspec primitive (serialization lacking).

2002-10-23  Tim Janik 	# 43f4139e2e6

	Wed Oct 23 19:25:40 2002  Tim Janik  <timj@gtk.org>

	        * sfivalues.[hc]:
	        * sfiparams.[hc]: s/param_spec/pspec/ due to stefan's command.
	        introduce pspec primitive (serialization lacking).

2002-10-11  Tim Janik 	# a37ab22e5c1

	Sat Oct 12 01:03:24 2002  Tim Janik  <timj@gtk.org>

	        * sfinote.[hc]: fixup error handling when parsing notes.

	        * sfiparams.[hc]: add cmp/validate implementations for bblock,
	        fblock, seq and rec.

	        * sfiprimitives.[hc]: support sorting of record fields and use binary
	        lookups for field access.

	        * sfiserial.[hc]: implement sfi_value_store_typed() and
	        sfi_value_parse_typed() for all SFI types.

	        * sfitime.[hc]: fixup error handling when parsing date/time.

	        * sfitypes.h: add type specific constants.

	        * testsfi.c: check serialization facilities.

2002-10-11  Tim Janik 	# f49776f5199

	Sat Oct 12 01:03:24 2002  Tim Janik  <timj@gtk.org>

	        * sfinote.[hc]: fixup error handling when parsing notes.

	        * sfiparams.[hc]: add cmp/validate implementations for bblock,
	        fblock, seq and rec.

	        * sfiprimitives.[hc]: support sorting of record fields and use binary
	        lookups for field access.

	        * sfiserial.[hc]: implement sfi_value_store_typed() and
	        sfi_value_parse_typed() for all SFI types.

	        * sfitime.[hc]: fixup error handling when parsing date/time.

	        * sfitypes.h: add type specific constants.

	        * testsfi.c: check serialization facilities.

2002-10-07  Tim Janik 	# 4d6de6a85d1

	Sun Oct  6 08:04:55 2002  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: add sfi_seq_clear().

	        * sfitypes.[hc]: introduce sfi_boxed_make_record(),
	        sfi_boxed_make_sequence(), sfi_boxed_get_record_info() and
	        sfi_boxed_get_sequence_info() to support boxed<->rec and seq
	        transformations.

	        * sfiparams.[hc]: remove non-serializable pspecs Object and Enum.
	        set hints via sfi_pspec_set_static_hints() in the constructors,
	        so we can map these (partially) onto flags.
	        provide accessors for pspec hints. cleanup serializable param spec
	        categories. renamed a few things for consistency.

	        * sfivalues.[hc]: same here, remove object and enum values.
	        added sfi_value_lstring() and sfi_value_lchoice().

2002-10-07  Tim Janik 	# 1a9c7a88040

	Sun Oct  6 08:04:55 2002  Tim Janik  <timj@gtk.org>

	        * sfiprimitives.[hc]: add sfi_seq_clear().

	        * sfitypes.[hc]: introduce sfi_boxed_make_record(),
	        sfi_boxed_make_sequence(), sfi_boxed_get_record_info() and
	        sfi_boxed_get_sequence_info() to support boxed<->rec and seq
	        transformations.

	        * sfiparams.[hc]: remove non-serializable pspecs Object and Enum.
	        set hints via sfi_pspec_set_static_hints() in the constructors,
	        so we can map these (partially) onto flags.
	        provide accessors for pspec hints. cleanup serializable param spec
	        categories. renamed a few things for consistency.

	        * sfivalues.[hc]: same here, remove object and enum values.
	        added sfi_value_lstring() and sfi_value_lchoice().

2002-10-05  Tim Janik 	# 798a123daf1

	Sat Oct  5 02:07:57 2002  Tim Janik  <timj@gtk.org>

	        * glib-extra.[hc]: add type name conversion functions.

	        * sfiprimitives.[hc]: add sfi_bblock_new_sized(),
	        sfi_fblock_new_sized(), sfi_bblock_resize() and sfi_fblock_resize().

	        * sfidl.cc (parse): sync this with GValue types (missed out Proxy).

	        * sfidl-namespace.cc (qualify): output warnigns with g_warning().

	        * sfidl.cc: remove pointless namespacing in generated code,
	        fix sfi_value_*() uses. fix one more hardcoded "element"
	        sequence memeber.

2002-10-05  Tim Janik 	# 265afe7e017

	Sat Oct  5 02:07:57 2002  Tim Janik  <timj@gtk.org>

	        * glib-extra.[hc]: add type name conversion functions.

	        * sfiprimitives.[hc]: add sfi_bblock_new_sized(),
	        sfi_fblock_new_sized(), sfi_bblock_resize() and sfi_fblock_resize().

	        * sfidl.cc (parse): sync this with GValue types (missed out Proxy).

	        * sfidl-namespace.cc (qualify): output warnigns with g_warning().

	        * sfidl.cc: remove pointless namespacing in generated code,
	        fix sfi_value_*() uses. fix one more hardcoded "element"
	        sequence memeber.

2002-10-04  Tim Janik 	# 12d492303f8

	Fri Oct  4 02:06:15 2002  Tim Janik  <timj@gtk.org>

	        * sfidl.cc (createTypeCode): support SfiBBlock.

	        * sfiprimitives.[hc]: add SfiBBlock, a block of bytes,
	        similar to SfiFBlock.

	        * sfivalues.[hc]: implement BBlock values.

	        * sfiparams.[hc]: implement BBlock pspecs.

2002-10-04  Tim Janik 	# d5048cb9022

	Fri Oct  4 02:06:15 2002  Tim Janik  <timj@gtk.org>

	        * sfidl.cc (createTypeCode): support SfiBBlock.

	        * sfiprimitives.[hc]: add SfiBBlock, a block of bytes,
	        similar to SfiFBlock.

	        * sfivalues.[hc]: implement BBlock values.

	        * sfiparams.[hc]: implement BBlock pspecs.

2002-10-03  Tim Janik 	# f12d4c594a1

	Thu Oct  3 23:31:26 2002  Tim Janik  <timj@gtk.org>

	        * acbeast.m4: when using gcc, compile sources with -O3 (not -O6).

	        * configure.in: prepare for sfi/ configuration.

	        * sfi/: new subdirectory and library. in preparation for SFK (synthesis
	        fusion kit), this is the underlying interface library SFI (syntheis
	        fusion kit interface).

	Thu Oct  3 23:31:26 2002  Tim Janik  <timj@gtk.org>

	        * sfi/: new subdirectory and library. in preparation for SFK (synthesis
	        fusion kit), this is the underlying interface library SFI (syntheis
	        fusion kit interface).

	        * sfidl.cc: .sfidl code generator by Stefan.
	        * sfidl-namespace.[hc]*: auxillary files for sfidl.cc.

	        * sfiserial.[hc]: preliminary parsing/serialization code.

	        * sfiparams.[hc]: pspec implementations, corresponding to the Sfi values.

	        * sfivalues.[hc]: wrappers for supported GValue types and implementaitons
	        of Sfi specific value types.

	        * sfitime.[hc]: some preliminary time handling routines.

	        * sfiprimitives.[hc]: fundamental structure implementations, such as
	        record, sequence and float sequences (for performance reasons implemented
	        as a block of floats).

	        * sfitypes.[hc]: miscellaneous type decls and yet-to-clean-up auxillary
	        functions.

	        * glib-extra.[hc]: GLib compatibility code, add-ons or extensions.

2002-10-03  Tim Janik 	# 751fffebabd

	Thu Oct  3 23:31:26 2002  Tim Janik  <timj@gtk.org>

	        * acbeast.m4: when using gcc, compile sources with -O3 (not -O6).

	        * configure.in: prepare for sfi/ configuration.

	        * sfi/: new subdirectory and library. in preparation for SFK (synthesis
	        fusion kit), this is the underlying interface library SFI (syntheis
	        fusion kit interface).

	Thu Oct  3 23:31:26 2002  Tim Janik  <timj@gtk.org>

	        * sfi/: new subdirectory and library. in preparation for SFK (synthesis
	        fusion kit), this is the underlying interface library SFI (syntheis
	        fusion kit interface).

	        * sfidl.cc: .sfidl code generator by Stefan.
	        * sfidl-namespace.[hc]*: auxillary files for sfidl.cc.

	        * sfiserial.[hc]: preliminary parsing/serialization code.

	        * sfiparams.[hc]: pspec implementations, corresponding to the Sfi values.

	        * sfivalues.[hc]: wrappers for supported GValue types and implementaitons
	        of Sfi specific value types.

	        * sfitime.[hc]: some preliminary time handling routines.

	        * sfiprimitives.[hc]: fundamental structure implementations, such as
	        record, sequence and float sequences (for performance reasons implemented
	        as a block of floats).

	        * sfitypes.[hc]: miscellaneous type decls and yet-to-clean-up auxillary
	        functions.

	        * glib-extra.[hc]: GLib compatibility code, add-ons or extensions.

2002-10-01  Tim Janik 	# 72aa161d419

	birnet/

	Birnet history import, developed as part of the Beast project.

2002-10-01  Tim Janik 	# dd19f1b169a

	birnet/

	Birnet history import, developed as part of the Beast project.

2005-03-26  Tim Janik 	# bfe04a96a14

	Rapicorn

	Initial revision of the Rapicorn source repository.

