forked from AuroraMiddleware/gtk
c7826b5f63
2001-01-03 Havoc Pennington <hp@redhat.com> * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use of private functions; remove inclusion of private headers. * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this function, so we don't need private functions in gtktextdisplay.c * gtk/gtktextiterprivate.h: underscore-ification * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL" to instead say "only useful to implement widgets" * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS, GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS, GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249. * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap): This function was completely broken * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use gtk_paint_layout * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use gtk_paint_layout * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders. Progress on bug 40103. Add draw_layout to draw a PangoLayout. (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp, which were not implemented. * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add insert_pixbuf signal. Rename delete_text to delete_range since it also deletes pixbufs and child anchors. This almost closes bug 40245 (still need to deal with child anchors) * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add insert_pixbuf, change signal names as appropriate, change types of signals taking marks/tags to have the specific type, not just G_TYPE_OBJECT * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; closes bug 40051 * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up unnecessary remove_contents() call (gtk_option_menu_class_init): add a "changed" signal, closes bug 40039 (gtk_option_menu_update_contents): emit "changed" if the active menu item changes * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad cast to GtkObject, reported by Jonas Borgstrom (gdk_pixbuf_loader_finalize): don't close the loader on finalize; we can't do stuff with side effects in finalize. Instead, spew a warning if the loader isn't closed. * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free colormap in here, non-X ports probably need to sync to this change * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove assertion that colormap != NULL, you can set the colormap to NULL if you like. * Makefile.am: remove gtk-config-2.0 * configure.in: Use pkg-config to locate GLib. Remove separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used, and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow. Use pkg-config to locate Pango. Output correct Pango libs to gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix). * Makefile.am (pkgconfig_DATA): install only target-specific pc files (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the X11 pc files * gtk+-2.0.pc.in (Requires): require the GDK for the current target unref from here |
||
---|---|---|
.. | ||
faq | ||
reference | ||
tutorial | ||
.cvsignore | ||
Changes-1.2.txt | ||
Changes-2.0.txt | ||
debugging.txt | ||
defsformat.txt | ||
developers.txt | ||
dnd_internals.txt | ||
generation.txt | ||
gtk-config.1.in | ||
gtk-config.txt | ||
gtkdocs_fix | ||
make-todo | ||
Makefile.am | ||
README.linux-fb | ||
refcounting.txt | ||
styles.txt | ||
text_widget.txt | ||
widget_system.txt |
About GtkFB: ------------ The linux-fb port of Gtk+, also known as GtkFB is an implementation of gdk (and therefor gtk) that runs on the linux framebuffer. It runs in a single process that doesn't need X. It should run most Gtk+ programs without any changes to the source. Build requirements: ------------------- To run GtkFB programs you will need glib, pango and gtk from cvs HEAD. Make sure you update these at the same time, since changes to glib and pango often forces changes in gtk+. Pango optionally depends on libfribidi, but for normal GtkFB usage that can be ignored. You also need freetype 2, I recommend that you use freetype 2.0.1 or later, as there was some problems with freetype-config in 2.0. Make sure that you install freetype before pango, since pango also needs it. Freetype can be found at ftp://ftp.freetype.org Hardware requirements: ---------------------- You need a graphics card with an availible framebuffer driver that can run in 8, 16, 24 or 32 bpp. I use the matroxfb driver, but i.e. vesafb should work too. You also need a supported mouse. Currently supported is ps2 mouse, ms serial mouse and fidmour touchscreen. Building and installing: ------------------------ First build and install glib and pango as usual, in that order. Then configure Gtk by running configure (or autogen.sh if running from cvs) with --with-gdktarget=linux-fb. Then compile as ususal: make; make install Fonts: ------ Since GtkFB uses freetype 2 to render fonts it can render truetype and postscript type 1 antialiased fonts. At startup it scans some directories looking for fonts. By default it looks in $prefix/lib/ft2fonts, and if you want to change this you must add something like: [PangoFT2] FontPath = /usr/share/fonts/default/TrueType To your $prefix/etc/pango/pangorc or ~/.pangorc. You must also set up font aliases for the fonts Sans, Serif and Monotype. This is done by creating a $prefix/etc/pango/pangoft2.aliases or ~/.pangoft2.aliases file. You can also set the name of this file using the key AliasFiles in the PangoFT2 section in pangorc. An example of a font alias file is: sans normal normal normal normal "arial" serif normal normal normal normal "times new roman" monospace normal normal normal normal "courier new" A more detailed example can be found in examples/pangoft2.aliases in the pango distribution. Running: -------- To run a program you should only need to start it, but there are some things that can cause problems, and some things that can be controlled by environment variables. Try testgtk distributed with gtk+ to test if things work. If you use a ps2 mouse, make sure that /dev/psaux is readable and writable. Make sure gpm is not running. If you don't specify anything GtkFB will start up in the current virtual console in the current resolution and bit-depth. This can be changed by specifying environment variables: GDK_VT: unset means open on the current VT. 0-9: open on the specified VT. Make sure you have read/write rights there. new: Allocate a new VT after the last currently used one. GDK_DISPLAY_MODE: Specifies the name of a mode in /etc/fb.modes that you want to use. GDK_DISPLAY_DEPTH: Specify the desired bit depth of the framebuffer. GDK_DISPLAY_WIDTH: Specify the desired width of the framebuffer. GDK_DISPLAY_HEIGHT: Specify the desired height of the framebuffer. GDK_DISPLAY: Specify the framebuffer device to use. Default is /dev/fb0 GDK_MOUSE_TYPE: Specify mouse type. Currently supported is: ps2 - PS/2 mouse imps2 - PS/2 intellimouse (wheelmouse) ms - Microsoft serial mouse fidmour - touch screen Default is ps2. GDK_KEYBOARD_TYPE: Specify keyboard type. Currently suppored is xlate - normal tty mode keyboard. Quite limited, cannot detect key up/key down events. Doesn't handle ctrl/alt/shift for all keys. This is the default driver, but should not be used in "production" use. raw - read from the tty in RAW mode. Sets the keyboard in RAW mode and handles all the keycodes. This gives correct handling of modifiers and key up/down events. You must be root to use this. If you use this for development or debugging it is recommended to enable magic sysrq handling in the kernel. Then you can use ALT-SysRQ-r to turn the keyboard back to normal mode. Default is xlate. HACKING: -------- Pressing Ctrl-Alt-Return repaints the whole screen. Unfortunately this cannot be pressed when using the xlate keyboard driver, so instead you can use shift-F1 instead when using this driver. Pressing Ctrl-Alt-BackSpace kills the GtkFB program. (Can't be pressed in the xlate driver. More to be written. - Alexander Larsson <alexl@redhat.com> 2000/12/06