1. 04 Dec, 2000 4 commits
    • Alexander Larsson's avatar
      Divide size by 2, not multiply. · d7714461
      Alexander Larsson authored
      2000-12-04  Alexander Larsson  <alexl@redhat.com>
      
      	* gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
      	multiply.
      
      	* gdk/linux-fb/gdkpango-fb.c:
      	Copied some 26.6 scaling macros from pango to clean up the rounding.
      	(pango_fb_font_get_glyph_info): Correct sign on x value.
      
      	* gdk/linux-fb/gdkprivate-fb.h:
      	Removed unreferenced external functions.
      
      	* modules/linux-fb/Makefile.am: Use ` instead of '.
      
      	* modules/linux-fb/basic.c:
      	Remove dead code. In particular the dummy lang engine which broke all
      	pango layouts in GtkFB. Don't include tables-big.i anymore.
      
      	* modules/linux-fb/tables-big.i:
      	Upgrade to latest version from pango. Left for reference, basic_ranges
      	moved to basic.c.
      d7714461
    • Havoc Pennington's avatar
      Fix bugs Alex found: · 9cca191b
      Havoc Pennington authored
      2000-12-04  Havoc Pennington  <hp@redhat.com>
      
              Fix bugs Alex found:
      
      	* gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
      	to "draw"
      
      	* gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
      
      	* gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
      
      	* gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw()
      	implementation in here, apparently the expose() implementation was
      	dead code.
      9cca191b
    • Alexander Larsson's avatar
      Return positive descent. · 15c81f52
      Alexander Larsson authored
      2000-12-04  Alexander Larsson  <alexl@redhat.com>
      
      	* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
      	Return positive descent.
      15c81f52
    • Havoc Pennington's avatar
      Remove "draw" virtual method and signal · 5995baab
      Havoc Pennington authored
      2000-12-02  Havoc Pennington  <hp@pobox.com>
      
      * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
      method and signal
      
      * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
      calls gdk_window_process_updates() to push the exposes through
      (gtk_widget_class_init): No more draw signal, no
      gtk_widget_real_draw()
      
      * gtk/gtkbin.c (gtk_bin_draw): remove
      
      * gtk/gtkbox.c (gtk_box_draw): remove
      
      * gtk/gtkbutton.c (gtk_button_draw): remove
      
      * gtk/gtkcalendar.c (gtk_calendar_draw): remove
      
      * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
      
      * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
      
      * gtk/gtkclist.c (gtk_clist_draw): remove
      
      * gtk/gtkentry.c (gtk_entry_draw): remove
      
      * gtk/gtkeventbox.c (gtk_event_box_draw): remove
      
      * gtk/gtkfixed.c (gtk_fixed_draw): remove
      
      * gtk/gtkframe.c (gtk_frame_draw): remove
      
      * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
      
      * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
      
      * gtk/gtklayout.c (gtk_layout_draw): remove
      
      * gtk/gtklist.c (gtk_list_draw): remove
      
      * gtk/gtklistitem.c (gtk_list_item_draw): remove
      
      * gtk/gtkmenu.c (gtk_menu_draw): remove
      
      * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
      
      * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
      
      * gtk/gtknotebook.c (gtk_notebook_draw): remove
      
      * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
      
      * gtk/gtkpacker.c (gtk_packer_draw): remove
      
      * gtk/gtkrange.c (gtk_range_draw): remove
      
      * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
      
      * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
      
      * gtk/gtktable.c (gtk_table_draw): remove
      
      * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
      
      * gtk/gtktext.c (gtk_text_draw): remove
      
      * gtk/gtktextview.c (gtk_text_view_draw): remove
      
      * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
      
      * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
      
      * gtk/gtktree.c (gtk_tree_draw): remove
      
      * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
      
      * gtk/gtktreeview.c (gtk_tree_view_draw): remove
      
      * gtk/gtkviewport.c (gtk_viewport_draw): remove
      
      * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
      
      * gtk/gtkvscale.c (gtk_vscale_draw): remove
      
      * gtk/gtkwindow.c (gtk_window_draw): remove
      5995baab
  2. 02 Dec, 2000 2 commits
    • Anders Carlsson's avatar
      Commit GtkToggleButton fix to HEAD too. · b18bb07b
      Anders Carlsson authored
      b18bb07b
    • Havoc Pennington's avatar
      don't create dangling pointers to the appearance attributes from the line · 35876710
      Havoc Pennington authored
      2000-11-30  Havoc Pennington  <hp@pobox.com>
      
      * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
      dangling pointers to the appearance attributes from the
      line display
      
      * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
      width/height to mean "full width/height of drawable"
      
      * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
      click to select word/line
      
      * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters
      when getting log attrs. Get a slice, so that pixmaps and stuff
      are properly handled.
      
      * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
      paste into the selection (replaces selection now, previously
      crashed or added to selection). Reveals longstanding btree bug -
      select multiple lines, middle-click on the selection, boom. This
      isn't related to my changes though.
      
      * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
      PangoLogAttrs changes
      (gtk_entry_move_backward_word): ditto
      
              * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
      	functions return bool whether the iter moved onto a
      	dereferenceable position.
      
      	 * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
      	 functions for motion in terms of display lines.
      
      	 * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
      	 get the buffer a mark is inside
      35876710
  3. 01 Dec, 2000 6 commits
    • Alexander Larsson's avatar
      Forgot to check in ChangeLog entry. · fb14d129
      Alexander Larsson authored
      fb14d129
    • Alexander Larsson's avatar
      Note: GtkFB now requires Freetype 2 final. · f3e06d23
      Alexander Larsson authored
      2000-12-01    <alexl@redhat.com>
      
      	* gdk/linux-fb/Makefile.am:
      	* modules/linux-fb/Makefile.am:
      	Freetype 2 final uses freetype-config
      
      	* gdk/linux-fb/gdkpango-fb.c:
      	Upgrade to use Freetype 2 final.
      	More flexible support for font aliases, this also fixes a bug with
      	GtkFontSelector, as the aliases must be visible in the font/family list,
      	or GtkFontSelector reads uninitialized memory.
      f3e06d23
    • Hidetoshi Tajima's avatar
      Add NULL argument to XGetIMValues to properly terminate variable argument · 97bfa330
      Hidetoshi Tajima authored
      2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
      
      	* modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
      	XGetIMValues to properly terminate variable argument list, and do
      	NULL return check for ic_values and xim_styles.
      
      	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
      	Restore preedit state after XmbResetIC().
      
      	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
      	XvaCreateNestedList() should take XvaNestedList, but not
      	XvaNestedList*.
      
      	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
      	preedit_draw_callback, preedit_caret_callback): Match
      	"preedit-changed" signal name to "preedit_changed" to be
      	consistent to the spec.
      
      	* gtk/gtkimcontextsimple.c (check_table):
      	Match "preedit-changed" to "preedit_changed" to be consistent
      	to the spec.
      97bfa330
    • 0's avatar
      Match "preedit-changed" to "preedit_changed" to be consistent to the spec. · 1e5b472e
      0 authored
      2000-11-30    <tajima@eng.sun.com>
      
      	* gtk/gtkimcontextsimple.c (check_table):
      	Match "preedit-changed" to "preedit_changed" to be consistent
      	to the spec.
      1e5b472e
    • Owen Taylor's avatar
      Properly handle gc->clip_region == NULL> · 1f7d7453
      Owen Taylor authored
      Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
      	gc->clip_region == NULL>
      1f7d7453
    • Hidetoshi Tajima's avatar
      -Add NULL argument to XGetIMValues. · c396e4bb
      Hidetoshi Tajima authored
      -Check NULL return for xim_styles and ic_values.
      -Restore preedit state after XmbResetIC.
      -Change XVaNestedList* to XVaNestedList.
      -Match "preedit-changed" to "preedit_changed".
      c396e4bb
  4. 30 Nov, 2000 2 commits
    • Tor Lillqvist's avatar
      Changes by Hans Breuer: · 68ae419b
      Tor Lillqvist authored
      2000-11-30  Tor Lillqvist  <tml@iki.fi>
      
      	Changes by Hans Breuer:
      
      	* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
      	Dont't use negative width and height as max_hints. This fixes
      	Owen's recent testgtk changes for win32.
      
      	* gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
      	gdk_win32_hdc_release): These are exported and may be called with
      	other drawable types than our GdkDrawableImplWin32 (?).
      
      	* gdk/gdkwindow.c: Backing store appears to work on Windows now,
      	so always #define USE_BACKING_STORE.
      
      	* gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
      	of printf for debugging output.
      
      	* gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
      
      	* gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
      
      	* gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
      	declaration.
      
      	* gtk/gtktexttypes.h: Ditto.
      
      	* gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
      	(GDK_VoidSymbol) also if in case of arg check failure.
      
      	* gtk/gtkimcontextsimple.c
      	(gtk_im_context_simple_get_preedit_string): Don't assign cursor
      	position to the pointer, but to the variable it points to.
      
      	* gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
      
      	* gtk/gtk.def: Updates.
      68ae419b
    • Elliot Lee's avatar
      Inherits from GTK_TYPE_OBJECT, not GTK_TYPE_TREE_MODEL. · 094159e4
      Elliot Lee authored
      
      
      Inherits from GTK_TYPE_OBJECT, not GTK_TYPE_TREE_MODEL.
      094159e4
  5. 29 Nov, 2000 5 commits
    • Alexander Larsson's avatar
      Set the size of the font from the description. (gdk_text_width): Gross · b1b6c9fc
      Alexander Larsson authored
      2000-11-29  Alexander Larsson  <alexl@redhat.com>
      
      	* gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
      	Set the size of the font from the description.
      	(gdk_text_width): Gross hack that calculates the width
      	of text by text_length * size/2. This is necessary because
      	GtkLabel does some ugly gtk_string_width call to calculate
      	an good size.
      	(linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
      b1b6c9fc
    • GMT 2000  Tony Gale's avatar
      DND updates · 696d0bc1
      GMT 2000 Tony Gale authored
      Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
      
      	* docs/tutorial/gtk-tut.sgml: DND updates
      696d0bc1
    • Alexander Larsson's avatar
      If you pass width or height == 0 to gdk_window_clear_area they should be · 92bc6d41
      Alexander Larsson authored
      2000-11-29  Alexander Larsson  <alexl@redhat.com>
      
      	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
      	If you pass width or height == 0 to gdk_window_clear_area they
      	should be calculated from the window size.
      92bc6d41
    • Alexander Larsson's avatar
      If there is a grab, but no grab-cursor, use the cursor from the grabbed · 57356cfe
      Alexander Larsson authored
      2000-11-29  Alexander Larsson  <alexl@redhat.com>
      
      	* gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
      	a grab, but no grab-cursor, use the cursor from the grabbed
      	window. (gdk_fb_window_send_crossing_events): Send normal
      	enter/leave notifications if grab and owner_events == TRUE.
      57356cfe
    • Alexander Larsson's avatar
      Do implicit button grabs, even if the window doesn't want the event. · 3c6f0d5f
      Alexander Larsson authored
      2000-11-29  Alexander Larsson  <alexl@redhat.com>
      
      	* gdk/linux-fb/gdkinput-ps2.c (send_button_event):
      	Do implicit button grabs, even if the window doesn't
      	want the event.
      	(gdk_fb_window_send_crossing_events): If there is a
      	grab, only the grabbed window gets normal enter/leave
      	notifications. On ungrab go from grabbed window to current.
      	Don't send any notification to b when propagating from c -> b.
      	If setting a grab on window, don't set prev_window.
      	(handle_mouse_input): Send enter/leave events to the window the
      	mouse is over, not the grabbed one.
      3c6f0d5f
  6. 28 Nov, 2000 8 commits
  7. 27 Nov, 2000 2 commits
  8. 25 Nov, 2000 1 commit
    • Alexander Larsson's avatar
      Huge GtkFB patch with lots of small bugfixes and initial selections implementation. · 1c805555
      Alexander Larsson authored
      2000-11-23  Alexander Larsson  <alexl@redhat.com>
      
      	* gdk/linux-fb/gdkselection-fb.c:
      	Initial selection implementation.
      
      	* gtk/gtkselection.c:
      	if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
      	requestor in gtk_selection_request.
      
      	* gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
      	Added gdk_selection_property atom.
      
      	* gdk/linux-fb/gdkprivate-fb.h:
      	Export _gdk_selection_window_destroyed.
      	Removed mask_off_x/y from GdkCursorPrivateFB.
      	Removed hbearing, added top, left to PangoFBGlyphInfo.
      
      	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
      	Call _gdk_selection_window_destroyed
      	(_gdk_windowing_window_init): Don't call gdk_cursor_new() before
      	the root window has been created.
      	(static_dx_hack, static_dy_hack, compare_draw_rects,
      	gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
      	in region. They are already sorted. Instead just traverse them in
      	reverse if draw_direction < 0.
      
      	* gdk/linux-fb/gdkinput-ps2.c (send_button_event):
      	Double-clicks must be sent after the normal button_press.
      	(gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
      
      	* gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
      	Pass _gdk_fb_screen_gc instead of NULL.
      
      	* gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
      	Initialize gdk_selection_property.
      	(gdk_event_make): Remove unused code.
      
      	* gdk/linux-fb/gdkcursor-fb.c:
      	Make the pixmap for the cursor the same size as the mask. Also remove
      	the mask_off_x/y fields in GdkCursorPrivateFB and combine
      	_gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
      	Now the whole cursor is visible.
      
      	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
      	Fix bug where xdest+height instead of ydest+height was used
      	to calculate if the source and dest overlapped. This fixes the
      	redraw bug when the main window in testgtk was scrolled when
      	partially covered by a tall window.
      	Copy rectangles in region in order depending on draw_direction.
      	Also moved the draw_direction flipping of start_y and end_y into
      	the gc functions, as this might not be what all of them want.
      	(gdk_fb_draw_lines): Support dashed lines.
      	(gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
      	so that the text is positioned correctly (was 1 pixel high).
      
      	gdk/linux-fb/gdkgc-fb.c:
      	Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
      	all lines were drawn a pixel to short. Also checked the default of
      	the rest of the values, and they're the same as X now.
      
      	* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
      	Clean up pixel positioning of the glyphs. Just use bgy->top and
      	bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
      	to all divisions to get correct rounding behaviour.
      
      	* gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
      	gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
      	Moved start_y/end_y flip into draw_drawable implementations.
      	Flip also x rendering when draw_direction < 0.
      	Remove unneccesary multiply with draw_direction.
      1c805555
  9. 22 Nov, 2000 6 commits
    • GMT 2000  Tony Gale's avatar
      - get rid of gtk_toggle_button_toggled FUD - start DND section - needs · f8cec465
      GMT 2000 Tony Gale authored
      Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
      
              * docs/tutorial/gtk-tut.sgml:
                - get rid of gtk_toggle_button_toggled FUD
                - start DND section - needs work - based on:
                      http://wolfpack.twu.net/docs/gtkdnd/
      f8cec465
    • Alexander Larsson's avatar
      Correct calculation of font metrics. Now GtkEntrys have sane size. · 2382edbd
      Alexander Larsson authored
      2000-11-22  Alexander Larsson  <alexl@redhat.com>
      
      	* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
      	Correct calculation of font metrics. Now GtkEntrys have sane
      	size.
      2382edbd
    • Alexander Larsson's avatar
      i2000-11-22 Alexander Larsson <alexl@redhat.com> · 5b4c8afa
      Alexander Larsson authored
              * gdk/gdktypes.h:
      	Add new type GdkSpan
      
      	* docs/reference/gdk/gdk-sections.txt,
      	docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
      	gdk/gdkregion.h:
      	Implement and document gdk_region_spans_intersect_foreach.
      
      	* gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
      	Add new file gdkrender-fb.c which contains all core
      	rendering code.
      	Add gdk_fb_fill_rectangle_generic (old rectangle code) and
      	gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
      	(optimized rectangle fillers).
      
      	* gdk/linux-fb/gdkdrawable-fb2.c:
      	Move all rendering code to gdkrender-fb.c.
      	Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
      	Use the new span intersection functions in gdk_fb_fill_spans.
      	gdk_fb_draw_rectangle() clips filled rectangles and calls
      	gc->fill_rectangle with the result.
      	gdk_fb_fill_spans() gets extra argument "sorted".
      
      	* gdk/linux-fb/gdkevents-fb.c:
      	Remove unused includes and defines.
      	New function gdk_fb_get_time() to get correct time for events.
      
      	* gdk/linux-fb/gdkinput-ps2.c:
      	Use gdk method of generating multiple-clicks (gdk_event_button_generate)
      	Make sure to set the time of all events.
      
      	* gdk/linux-fb/gdkmain-fb.c:
      	Use gdk_fb_get_time ().
      
      	* gdk/linux-fb/gdkprivate-fb.h:
      	New virtual GC calls: fill_span & fill_rectangle.
      	Export gdk_fb_get_time().
      	gdk_fb_fill_spans() gets extra argument "sorted".
      
      	* gdk/linux-fb/mi*.c:
      	Use GdkSpan instead of GdkRectangle.
      	Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
      	from XFree 4 source)
      5b4c8afa
    • 2's avatar
      It's amazing what reversing the order in an if statement will do. Doing so · c76c5f48
      2 authored
      2000-11-22    <jrb@redhat.com>
      
      	* gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
      	reversing the order in an if statement will do.  Doing so managed
      	to make the treemodelsort half work.  Other half will follow after
      	I get the insert function fully fixed.
      c76c5f48
    • Jonathan Blandford's avatar
      sync to home · a2771e40
      Jonathan Blandford authored
      a2771e40
    • Elliot Lee's avatar
      GdkEventButton->button can occupy significantly more than 2 bits. Besides, · f8ab34e6
      Elliot Lee authored
      
      
      * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly more than 2
      bits. Besides, I need to implement an evil hack. :)
      f8ab34e6
  10. 21 Nov, 2000 4 commits