fliep [Sun, 13 Sep 2009 19:27:16 +0000 (19:27 +0000)]
Some cosmetic fixes, like giving a window the focus when it asks for character input
fliep [Sun, 13 Sep 2009 18:44:57 +0000 (18:44 +0000)]
Fixed bug in text grid line input that obscured a new bug in the multisession code. Fixed the new bug too.
fliep [Sun, 13 Sep 2009 18:26:02 +0000 (18:26 +0000)]
Added an initialization function, which must be called at every entry point of the library.
Got multisession to work, fixing #19.
fliep [Sun, 13 Sep 2009 17:07:59 +0000 (17:07 +0000)]
Started using thread-private data. Multisession still doesn't work, but regular operation does.
fliep [Sat, 12 Sep 2009 09:47:27 +0000 (09:47 +0000)]
Gestalt selector claimed we couldn't print unicode characters, but we can
fliep [Fri, 11 Sep 2009 22:11:42 +0000 (22:11 +0000)]
Added a test program which runs two ChimaraGlk widgets side by side in the same program. It doesn't work, but it should, so I will add a ticket.
fliep [Fri, 11 Sep 2009 21:55:05 +0000 (21:55 +0000)]
Unref UI manager when done
fliep [Fri, 11 Sep 2009 21:16:39 +0000 (21:16 +0000)]
Forgot to add chimara.ui
fliep [Fri, 11 Sep 2009 21:15:43 +0000 (21:15 +0000)]
Fixed ignore properties
fliep [Fri, 11 Sep 2009 21:13:58 +0000 (21:13 +0000)]
Update the interface definition to use the new version of Glade (3.6 and
above.) Glade now writes GtkBuilder files directly, and so we don't have
to use gtk-builder-convert to convert a Glade file into a GtkBuilder file.
fliep [Fri, 11 Sep 2009 19:08:14 +0000 (19:08 +0000)]
Tweak to avoid warnings in frotz
fliep [Thu, 10 Sep 2009 21:59:16 +0000 (21:59 +0000)]
Inspired by #17, compared our Nitfol source to the source from its last
stable release (0.5) and reduced the changes to a minimum. Some useful
patches seem to have been applied in Gargoyle, which I have kept. All the
changes are in a file 'interpreters/nitfol.patch' for future reference.
Glk Frotz doesn't exist anywhere outside of Gargoyle, so I have made it
exactly equal to r268 of the Gargoyle source.
fliep [Wed, 9 Sep 2009 22:13:57 +0000 (22:13 +0000)]
Fixed ignore properties
fliep [Wed, 9 Sep 2009 22:11:55 +0000 (22:11 +0000)]
Edited includes to finish fixing #17
fliep [Wed, 9 Sep 2009 22:00:57 +0000 (22:00 +0000)]
Played around with nitfol build process, adding rules to generate the
generated source files. Dependencies are kept to a minimum, requiring
only Perl and Awk. Partly fixes #17.
fliep [Wed, 9 Sep 2009 19:25:53 +0000 (19:25 +0000)]
Fixed warning in model.c
fliep [Wed, 9 Sep 2009 19:18:51 +0000 (19:18 +0000)]
Moved to updated gettext and did some tweaking for make distcheck
fliep [Wed, 12 Aug 2009 21:33:56 +0000 (21:33 +0000)]
Added AM_SILENT_RULES option to configure, so you can now do './configure --enable-silent-rules' to cut down on screen clutter when compiling
fliep [Sat, 13 Jun 2009 20:43:37 +0000 (20:43 +0000)]
Fixed #7 (crash when resizing windows really small)
fliep [Sat, 13 Jun 2009 14:46:17 +0000 (14:46 +0000)]
Implemented glk_select_poll() (Fix #18)
fliep [Sat, 13 Jun 2009 14:32:55 +0000 (14:32 +0000)]
Must export garglk_ symbols in library
fliep [Tue, 9 Jun 2009 21:51:05 +0000 (21:51 +0000)]
Moved startup code to the Glk thread. Now Frotz works! (Fix #14)
fliep [Tue, 9 Jun 2009 21:50:05 +0000 (21:50 +0000)]
wrong Makefile committed in [101]
fliep [Tue, 9 Jun 2009 21:48:39 +0000 (21:48 +0000)]
Added garglk.c and garglk.h, which is where stubs for Gargoyle's Glk API extensions should go.
fliep [Mon, 8 Jun 2009 20:06:54 +0000 (20:06 +0000)]
Fixed crashes after automatic scroll on text buffer windows
rodin [Fri, 5 Jun 2009 12:12:59 +0000 (12:12 +0000)]
Added a better default font, line spacing and margins
rodin [Fri, 5 Jun 2009 10:27:38 +0000 (10:27 +0000)]
Fixed crash in FreeBSD.
There was no reason to assume the argument list would be null terminated.
fliep [Mon, 1 Jun 2009 11:12:36 +0000 (11:12 +0000)]
Disabled libtool C++ and Fortran support, so configure runs a lot faster
fliep [Tue, 26 May 2009 20:23:21 +0000 (20:23 +0000)]
Made sure no internal symbols were exported; can be checked with 'nm -g --defined-only .libs/libchimara.so'.
fliep [Tue, 26 May 2009 20:14:59 +0000 (20:14 +0000)]
Got rid of unused variable warnings in gi_blorb.c
fliep [Tue, 26 May 2009 20:11:57 +0000 (20:11 +0000)]
Edited platform-dependent part of Blorb layer to use g_malloc() functions, they are safer.
fliep [Tue, 26 May 2009 20:07:59 +0000 (20:07 +0000)]
Brought all the Gtk-Doc documentation up to date with where we are so far.
fliep [Mon, 25 May 2009 18:46:49 +0000 (18:46 +0000)]
glk_set_window(NULL) should not be allowed
fliep [Mon, 25 May 2009 18:05:46 +0000 (18:05 +0000)]
Removed unnecessary files from nitfol
fliep [Sun, 24 May 2009 22:06:29 +0000 (22:06 +0000)]
Fixing installed headers and directories
fliep [Sun, 24 May 2009 18:11:03 +0000 (18:11 +0000)]
Implemented Unix startup code, argument parsing, and platform-dependent functions
fliep [Sun, 24 May 2009 14:20:44 +0000 (14:20 +0000)]
Hopefully solved the problem of waiting for windows to draw themselves once and for all.
fliep [Sun, 24 May 2009 13:20:35 +0000 (13:20 +0000)]
No need to actually cancel input requests when closing a window
fliep [Sun, 24 May 2009 13:08:33 +0000 (13:08 +0000)]
Implemented evtype_Arrange events, fixing #8.
fliep [Sun, 24 May 2009 11:48:59 +0000 (11:48 +0000)]
Checked for 0 window size in glk_window_move_cursor().
fliep [Sun, 24 May 2009 10:34:37 +0000 (10:34 +0000)]
Added dummy functions glk_style_distinguish() and glk_request_mouse_event()
fliep [Sun, 24 May 2009 10:20:56 +0000 (10:20 +0000)]
Proportional sizes of 100% are apparently allowed too
fliep [Sun, 24 May 2009 10:14:28 +0000 (10:14 +0000)]
Implemented glk_window_set_arrangement() and glk_window_get_arrangement().
fliep [Sun, 24 May 2009 10:14:01 +0000 (10:14 +0000)]
Fixed GtkDoc makefile for new directory structure
fliep [Sun, 24 May 2009 08:33:57 +0000 (08:33 +0000)]
Added dummy glk_stylehint_clear() function
fliep [Sun, 24 May 2009 08:32:12 +0000 (08:32 +0000)]
Fixed assertion in glk_stream_set_position()
rodin [Sat, 23 May 2009 23:21:12 +0000 (23:21 +0000)]
* Added the game anchorhead to test
* Working towards unix startup code, try: ./test-chimara anchor.z8 (error when opening the filestream)
fliep [Sat, 23 May 2009 22:26:21 +0000 (22:26 +0000)]
Set ignore properties on new directories
fliep [Sat, 23 May 2009 21:40:16 +0000 (21:40 +0000)]
tests/Makefile.am
fliep [Sat, 23 May 2009 00:06:50 +0000 (00:06 +0000)]
Separated library source code from testing code, fixing #6
fliep [Fri, 22 May 2009 23:04:05 +0000 (23:04 +0000)]
Eliminated warnings about static functions declared with G_GNUC_INTERNAL
rodin [Fri, 22 May 2009 20:34:09 +0000 (20:34 +0000)]
* Added some more verbs to show off the style system
rodin [Fri, 22 May 2009 20:09:30 +0000 (20:09 +0000)]
* Added initial support for styles! (no style hints as of yet though)
* Added glkstart.c, a dummy file to help us implement the unixstart functionality
fliep [Fri, 22 May 2009 15:38:14 +0000 (15:38 +0000)]
Added Nitfol and Frotz source code.
rodin [Fri, 22 May 2009 13:08:23 +0000 (13:08 +0000)]
* Implemented the library-dependant functionality of BLORBs
rodin [Fri, 22 May 2009 12:05:41 +0000 (12:05 +0000)]
* Added BLORB file support (i.e. copied the gi_blorb.* files to this dir by instructions of the allmighty spec)
rodin [Fri, 22 May 2009 10:43:57 +0000 (10:43 +0000)]
* cancel_line_input_event now handles an NULL event parameter correctly
* cancel_line_input_event will now fail quietly on INPUT_REQUEST_NONE
rodin [Fri, 22 May 2009 10:38:41 +0000 (10:38 +0000)]
* Fixed flush_text_buffer() function. It always assumed a newline at the end and removed it, even when it wasn't there.
rodin [Fri, 22 May 2009 10:05:46 +0000 (10:05 +0000)]
* Fixed pointer cast warning
rodin [Fri, 22 May 2009 10:03:42 +0000 (10:03 +0000)]
* Restored support for cancel_line_input_request on a textgrid
fliep [Fri, 22 May 2009 09:52:05 +0000 (09:52 +0000)]
Traps illegal printing to a window with line input pending
rodin [Fri, 22 May 2009 09:41:20 +0000 (09:41 +0000)]
* Refactored the cancel_line_input_request code to be less copy/pasted.
* Fixed called glk_exit() with running timer crash.
fliep [Fri, 22 May 2009 09:23:49 +0000 (09:23 +0000)]
Fix #11: Implemented glk_cancel_char_event() and glk_cancel_line_event().
fliep [Fri, 22 May 2009 09:22:35 +0000 (09:22 +0000)]
For some reason these didn't commit in revision [59]
rodin [Fri, 22 May 2009 08:03:47 +0000 (08:03 +0000)]
* Added timer support
* Added multiwin.c test case (which still segfaults all the time)
fliep [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.
fliep [Wed, 20 May 2009 23:10:48 +0000 (23:10 +0000)]
- In the documentation, replaced <informalexample><programlisting> by |[...]| for readability.
- Removed mouse pointer from fig11.png.
fliep [Tue, 19 May 2009 21:07:56 +0000 (21:07 +0000)]
Use gdk_window_process_all_updates() to send window update events immediately instead of asynchronously.
fliep [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.
fliep [Tue, 19 May 2009 20:47:32 +0000 (20:47 +0000)]
- Changed splittest.c to run through all the examples of window splitting in the
Glk spec
- Took screenshots and added those to the documentation
fliep [Wed, 13 May 2009 22:01:25 +0000 (22:01 +0000)]
Now windows can be sized arbitrarily small, but GDK chokes when you try to drag the
size smaller than 0. Bug in GDK?
fliep [Wed, 13 May 2009 21:40:04 +0000 (21:40 +0000)]
Correctly handles what happens when a window that is the key window of another
window is closed.
fliep [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
fliep [Wed, 6 May 2009 20:46:51 +0000 (20:46 +0000)]
Made the size of the main window the "default" size, instead of the "minimum" size.
fliep [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.
fliep [Tue, 5 May 2009 11:47:22 +0000 (11:47 +0000)]
Now the size of text grid windows is updated when they are resized.
fliep [Tue, 5 May 2009 09:56:01 +0000 (09:56 +0000)]
Cleaned up some window closing code, fixed GDK thread lock problem
fliep [Sun, 3 May 2009 21:52:25 +0000 (21:52 +0000)]
Added comments and cleaned up code
fliep [Sun, 3 May 2009 21:49:54 +0000 (21:49 +0000)]
Fixed a crash when closing pair windows directly
fliep [Sun, 3 May 2009 17:38:35 +0000 (17:38 +0000)]
Fixed a bug: pair windows need window streams too, even though they don't print
fliep [Sun, 3 May 2009 17:01:03 +0000 (17:01 +0000)]
Use the sublime CLAMP() macro
fliep [Sun, 3 May 2009 16:47:03 +0000 (16:47 +0000)]
Added a "spacing" property which sets the border width between Glk windows.
fliep [Sun, 3 May 2009 15:22:18 +0000 (15:22 +0000)]
Now pays attention to the GtkContainer "border-width" property when allocating size
fliep [Sun, 3 May 2009 12:50:02 +0000 (12:50 +0000)]
Fixed issue #1. Probably needs some more thorough testing.
fliep [Sat, 2 May 2009 19:34:20 +0000 (19:34 +0000)]
Fixed issue #4.
fliep [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".
This is for eventually solving issue #4.
fliep [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.
fliep [Mon, 30 Mar 2009 21:36:05 +0000 (21:36 +0000)]
Added 'static' and 'G_GNUC_INTERNAL' to hide all symbols that shouldn't be exported
fliep [Sun, 29 Mar 2009 21:38:32 +0000 (21:38 +0000)]
Fixed a bug with text grid line input in the middle of an existing selection
fliep [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.
fliep [Sun, 29 Mar 2009 15:06:30 +0000 (15:06 +0000)]
Automake tweaking
fliep [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
file:///path/to/chimara/docs/reference/html/index.html
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.
fliep [Sat, 7 Mar 2009 12:36:59 +0000 (12:36 +0000)]
Properly set up svn:ignore properties.
Removed svn:executable properties on files that didn't need them.
fliep [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.
fliep [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.
fliep [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.
glk_put_char_uni(), glk_put_string_uni(), glk_put_buffer_uni(),
glk_put_char_stream_uni(), glk_put_string_stream_uni(),
glk_put_buffer_stream_uni(), glk_get_char_stream_uni(),
glk_get_buffer_stream_uni(), glk_get_line_stream_uni()
fliep [Sun, 1 Mar 2009 23:31:01 +0000 (23:31 +0000)]
Fixed a bug with newlines in line input on text buffer windows.
fliep [Sun, 1 Mar 2009 22:39:25 +0000 (22:39 +0000)]
Refined previous update so that arrow keys and other navigation keys aren't redirected
fliep [Sun, 1 Mar 2009 21:39:10 +0000 (21:39 +0000)]
Now keystrokes in a text grid window are redirected to the line input field. Fixes issue #5.
fliep [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.