Philip Chimento [Thu, 21 May 2009 13:14:11 +0000 (13:14 +0000)]
Defined glui32 and glsi32 in terms of the 32-bit integer types in <stdint.h>, instead of those in GLib. Now the entire GLib interface is not exposed to Glk plugins anymore.
Philip Chimento [Tue, 19 May 2009 20:53:26 +0000 (20:53 +0000)]
Turned off line wrapping on text grids. They don't need it, since they're always the correct size, and it was causing them to wrap sometimes when the width of the text was exactly the width of the window.
Philip Chimento [Wed, 6 May 2009 22:15:26 +0000 (22:15 +0000)]
- Text grid windows don't need scrollbars
- Set text windows' minimum size request to "as small as possible", otherwise they can't
be resized smaller than their contents
Philip Chimento [Wed, 6 May 2009 19:48:04 +0000 (19:48 +0000)]
When splitting a window W, the new pair window was always inserted back into the tree
as the right-hand child of W's former parent. So if you split a window vertically into A and
B and then split A (the top half) again into C and D, then C and D would end up below B.
Fixed.
Philip Chimento [Sat, 2 May 2009 17:05:54 +0000 (17:05 +0000)]
Added properties to the ChimaraGlk widget: "default-font-description" and
"monospace-font-description". They are the default fonts used in the Glk library. They can
either be set directly from PangoFontDescription structs, or by a string such as "Times 12".
Philip Chimento [Thu, 23 Apr 2009 20:52:47 +0000 (20:52 +0000)]
- Added pkg-config files (.pc.in), so after the library is installed you can
link to it with `pkg-config --cflags --libs chimara`.
- Plugins need <glib.h> to compile, for the definition of glui32 and glsi32
in glk.h; don't know why this worked before.
- Fixed libtool craziness. Apparently when you declare your plugins "noinst"
then libtool "figures out" that it doesn't need to build shared libraries.
Philip Chimento [Sun, 29 Mar 2009 21:25:45 +0000 (21:25 +0000)]
Wrote better checks for illegal actions.
Added "magic numbers" to the window, stream, and fileref structures, for better checking.
Added macros for checking and error reporting in magic.h.
Philip Chimento [Sun, 29 Mar 2009 01:13:07 +0000 (01:13 +0000)]
Got Gtk-Doc working. Now all the fancy /** comments before the functions
actually mean something. To use gtk-doc, invoke configure like this:
./configure --enable-gtk-doc
When you do this, configure will generate makefiles that rebuild the docs
whenever the source is changed. Calling configure without that option
generates makefiles that don't rebuild the docs. Building the docs takes
some time so you probably want to disable it unless you're actively working
on the docs.
The documentation is output as HTML, which you can browse by pointing your
browser to
The really cool thing is that the docs are also built as a devhelp module,
so when you make install, the devhelp module is installed and automatically
shows up in Devhelp.
The documentation consists of two sections: one is the API of our widget,
the other is the Glk API specification which we have been working from. I
have obtained permission from Andrew Plotkin to include and alter this spec.
I have changed the order of things around a little bit so it makes more
sense as a Gtk-Doc reference book.
The API spec only contains the parts that we have implemented so far. I
figure if we update the documentation for the Glk API functions as we
implement them, then we'll be able to see at a glance how far we've gotten.
One more change left to describe: the new file src/doc.c consists of only
comments. These comments contain two things. One is the introductory
descriptions of each Gtk-Doc section. I put these in here because they
really bloated the regular C files. The other is the Gtk-Doc comments for
constants and structures that are defined in glk.h. I put these in here
because the spec says glk.h is supposed to be the same on every platform
except for the typedefs of the 32-bit types.
Philip Chimento [Fri, 6 Mar 2009 23:16:31 +0000 (23:16 +0000)]
I have Autotools-Fu.
We should now be at the bare minimum of files under version control,
which also means that _NO_ generated files are versioned. This should
mean that any problems which arise from, for example, having different
libtool versions on my Fedora machine and my iBook, are solved.
I found out that autogen.sh is necessary after all, since Gtk-Doc and
Intltool require their own preparation programs in addition to the
Autotools' autoreconf. I rewrote it to be much simpler and easier to
read, and removed all of the checks for extreme system configurations.
That's because users shouldn't have to run it, only developers, who
should all have decent systems with decent versions of Autotools.
The autogen script runs autoreconf, but not configure. (Apparently
running configure automatically is a big timewaster.) So, after
checking out a new revision, the correct sequence to run is:
./autogen.sh
./configure
make
There are still a couple of warnings from the Gtk-Doc autoconf macros,
but since we don't actually do anything with Gtk-Doc yet, I will save
fixing that for when I attain Autotools-Nirvana.
Philip Chimento [Thu, 5 Mar 2009 23:14:46 +0000 (23:14 +0000)]
Rewrote configure.ac according to my new l33t knowledge of autotools, and
removed obsolete macros.
Now, after checking out a new revision, use the command:
autoreconf --install --force
instead of autogen.sh to rebuild all the platform-specific files.
Philip Chimento [Tue, 3 Mar 2009 23:21:53 +0000 (23:21 +0000)]
Wrote all remaining Unicode input and output functions.
Updated gestalt to support Unicode.
Split off functions to convert from one character set to another and put them in charset.c.
Philip Chimento [Sun, 1 Mar 2009 19:32:23 +0000 (19:32 +0000)]
Implemented line input in text grid windows using a GtkEntry.
Fixed another off-by-one error in line input requests :-P
Corrected the source dependencies for the plugin programs in the automake file.
Marijn van Vliet [Thu, 15 Jan 2009 15:33:41 +0000 (15:33 +0000)]
preliminary support for splitting of windows. Does not respect window sizes yet. Crashes when windows are opened and closed without GTK having time to update the view.
Philip Chimento [Tue, 23 Dec 2008 06:15:17 +0000 (06:15 +0000)]
Added dynamic module loading: now the Glk program (i.e., the
interpreter) is loaded from a .so file.
The code from the Chimara library and the test program are now
completely separate.
Removed the use of error_dialog() from the library code and replaced
it with GTK warning functions.
Philip Chimento [Sun, 13 Jul 2008 16:23:38 +0000 (16:23 +0000)]
Toevoegen van de sources die ik vorige keer vergeten was, en nog wat
triviale functies geimplementeerd, zoals echo streams van windows.
Ik heb ook de andere glk_put_ functies geschreven; de functie met de echte
code is nu glk_put_string_stream(), en de anderen formatteren hun input en
geven die door aan glk_put_string_stream().
Philip Chimento [Sat, 12 Jul 2008 23:43:30 +0000 (23:43 +0000)]
Een heleboel, relatief nutteloze dingen, zoals blank windows, en filerefs
die nog niets doen. Ik heb de volgende functies geimplementeerd. De unicode
functies heb ik nog niet getest.