1. 25 Aug, 2008 1 commit
    • Sven Neumann's avatar
      formatting. · 35980b22
      Sven Neumann authored
      2008-08-25  Sven Neumann  <sven@gimp.org>
      
      	* app/display/gimpdisplayshell-render.c 
      (render_image_tile_fault):
      	formatting.
      
      
      svn path=/trunk/; revision=26756
      35980b22
  2. 10 Aug, 2008 2 commits
    • Martin Nordholts's avatar
      app/display/gimpdisplayshell-draw.[ch] · 7865481d
      Martin Nordholts authored
      2008-08-10  Martin Nordholts  <martinn@svn.gnome.org>
      
      	* app/display/gimpdisplayshell-draw.[ch]
      	* app/display/gimpdisplayshell-render.[ch]
      	* app/display/gimpdisplayshell-transform.[ch]
      	* app/display/gimpdisplayshell-appearance.[ch]: Sprinkle as many
      	const qualifiers we can without any implementation changes.
      
      svn path=/trunk/; revision=26477
      7865481d
    • Martin Nordholts's avatar
      gimp_display_shell_ -> gimp_display_shell_scroll_ for functions that are · b9f66d04
      Martin Nordholts authored
      2008-08-10  Martin Nordholts  <martinn@svn.gnome.org>
      
      	* app/display/gimpdisplayshell-scroll.[ch]: gimp_display_shell_ ->
      	gimp_display_shell_scroll_ for functions that are scroll
      	related. Also did some other minor renamings.
      
      	* app/display/gimpnavigationeditor.c
      	* app/display/gimpdisplayshell-draw.c
      	* app/display/gimpdisplayshell-scale.c 
      	* app/display/gimpdisplayshell-render.c
      	* app/display/gimpdisplayshell-transform.c
      	* app/display/gimpdisplayshell-callbacks.c: Adapt to the name
      	changes.
      
      svn path=/trunk/; revision=26476
      b9f66d04
  3. 07 Aug, 2008 1 commit
    • Sven Neumann's avatar
      added gimp_image_get_projection(). · 3b067cba
      Sven Neumann authored
      2008-08-07  Sven Neumann  <sven@gimp.org>
      
      	* app/core/gimpimage.[ch]: added gimp_image_get_projection().
      
      	* app/display/gimpdisplay-handlers.c
      	* app/display/gimpdisplayshell-render.c
      	* app/display/gimpdisplayshell-scroll.c
      	* app/paint/gimppaintcore.c
      	* app/paint/gimpsourcecore.c
      	* app/tools/gimpbycolorselecttool.c
      	* app/tools/gimpeditselectiontool.c
      	* app/tools/gimpimagemaptool.c
      	* app/tools/gimpiscissorstool.c
      	* app/tools/gimppainttool.c
      	* app/widgets/gimpsamplepointeditor.c
      	* tools/pdbgen/pdb/image.pdb: use the new accessor function.
      
      	* app/pdb/image-cmds.c: regenerated.
      
      
      svn path=/trunk/; revision=26413
      3b067cba
  4. 12 Jul, 2008 1 commit
    • Martin Nordholts's avatar
      Kill disp_[xy]offset! We now keep store that information by using negative · a33d8010
      Martin Nordholts authored
      2008-07-12  Martin Nordholts  <martinn@svn.gnome.org>
      
      	* app/display/gimpdisplayshell.c: Kill disp_[xy]offset! We now
      	keep store that information by using negative values in
      	offset_[xy].
      
      	* app/display/gimpdisplayshell-scroll.[ch]
      	(gimp_display_shell_scroll_clamp_offsets)
      	(gimp_display_shell_get_scaled_image_viewport_offset): Adjust
      	accordingly to preserve current behaviour.
      
      	(gimp_display_shell_get_disp_offset): New function to get the old
      	disp_[xy]offset based on the new offset_[xy].
      
      	(gimp_display_shell_get_render_start_offset): New function to get
      	th old offset_[xy] based on the new offset_[xy].
      
      	* app/display/gimpdisplayshell-draw.c
      	* app/display/gimpdisplayshell-scale.c
      	* app/display/gimpdisplayshell-render.c: Get rid of
      	disp_[xy]offset and use
      	gimp_display_shell_get_render_start_offset() and
      	gimp_display_shell_get_disp_offset() instead.
      
      svn path=/trunk/; revision=26146
      a33d8010
  5. 18 Mar, 2008 1 commit
    • Michael Natterer's avatar
      First draft of the "no image open" window, which is implemented as a · cee3baea
      Michael Natterer authored
      2008-03-18  Michael Natterer  <mitch@gimp.org>
      
      	First draft of the "no image open" window, which is implemented as
      	a display without image (a view with NULL model). Didn't change
      	the display's appearance yet so I can first make sure the display
      	without image works properly in all details before hiding these
      	details.
      
      	* app/core/gimp-gui.[ch]: add "gimp" parameter to display_create()
      	and allow "image" to be NULL.
      
      	* app/core/gimpcontext.c (gimp_context_real_set_display): a
      	display's image can be NULL now.
      
      	* app/display/gimpdisplay.[ch]: add Gimp and GimpDisplayConfig
      	members.  Add Gimp parameter to gimp_display_shell_new(). Changed
      	gimp_display_reconnect() to gimp_display_set_image() and allow to
      	set a NULL image.
      
      	* app/gui/gui-vtable.c (gui_display_create): if there is a single
      	display without an image, call gimp_display_set_image() on that
      	display instead of creating a new one.
      
      	* app/display/gimpdisplayshell-close.c: if the last display is
      	closed, don't close it but make it empty. Factored out that code
      	to gimp_display_shell_really_close().
      
      	* app/display/gimpdisplayshell-dnd.c: when dropping uris on an
      	empty display, open the first one into that display and the other
      	ones as layers of the newly opened image. This is consistent with
      	dropping on an existing image but maybe needs some discussion.
      
      	* app/display/gimpdisplayshell-callbacks.c: bail out early in the
      	tool event callback so tools never have to deal with empty
      	displays. In expose(), draw the drop zone on the empty display.
      
      	* app/display/gimpdisplayshell-title.c: set the empty display's
      	title to "Gimp - Drop Files".
      
      	* app/display/gimpdisplay-foreach.c
      	* app/display/gimpdisplay-handlers.c
      	* app/display/gimpdisplayshell-appearance.c
      	* app/display/gimpdisplayshell-autoscroll.c
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/display/gimpdisplayshell-cursor.c
      	* app/display/gimpdisplayshell-dnd.c
      	* app/display/gimpdisplayshell-draw.c
      	* app/display/gimpdisplayshell-filter-dialog.c
      	* app/display/gimpdisplayshell-handlers.c
      	* app/display/gimpdisplayshell-layer-select.c
      	* app/display/gimpdisplayshell-preview.c
      	* app/display/gimpdisplayshell-render.c
      	* app/display/gimpdisplayshell-scale.c
      	* app/display/gimpdisplayshell-scroll.c
      	* app/display/gimpdisplayshell-selection.c
      	* app/display/gimpdisplayshell-title.c
      	* app/display/gimpdisplayshell.c
      	* app/display/gimpnavigationeditor.c
      	* app/display/gimpstatusbar.c: use display->gimp and
      	display->config instead of going via the image. Guard against
      	empty displays in some few places (most places can't be
      	called). Where needed, use the canvas' dimensions instead of the
      	image's dimensions so scroll offsets and scrollbars still have
      	sane values instead of the last image's ones.
      
      	* app/actions/actions.c (action_data_get_gimp)
      	(action_data_get_context): use display->gimp instead of
      	display->image->gimp.
      
      	* app/actions/edit-commands.c (edit_paste_cmd_callback): redirect
      	to "paste as new" if there is an empty display.
      
      	* app/actions/tools-commands.c (tools_select_cmd_callback): don't
      	initialize the new tool on an empty display.
      
      	* app/actions/view-actions.c (view_actions_update): changed lots
      	of sensitivity settings to be insensitive when there is no image
      	(instead of no display).
      
      	* app/actions/view-commands.c: use the display's config object
      	instead of gimp's.
      
      
      svn path=/trunk/; revision=25113
      cee3baea
  6. 28 Dec, 2007 1 commit
    • Simon Budig's avatar
      don't use ceil, use SCALEX. Round hopefully more properly. · 25aec865
      Simon Budig authored
      2007-12-29  Simon Budig  <simon@gimp.org>
      
              * app/display/gimpdisplayshell.c: don't use ceil, use SCALEX.
      	* app/display/gimpdisplayshell-transform.c: Round hopefully more
      	properly.
      
      	This probably exchanges one set of artefacts for another one...
      
      	* app/display/gimpdisplayshell-render.c: minor fixes.
      	* app/display/gimpdisplayshell-selection.c: whitespace fix
      
      
      svn path=/trunk/; revision=24457
      25aec865
  7. 18 Dec, 2007 1 commit
  8. 13 Dec, 2007 2 commits
    • Sven Neumann's avatar
      app/base/tile-pyramid.c (tile_pyramid_write_quarter) corrected formula · 1b4f8718
      Sven Neumann authored
      2007-12-13  Sven Neumann  <sven@gimp.org>
      
      	* app/base/tile-pyramid.c (tile_pyramid_write_quarter)
      	* app/display/gimpdisplayshell-render.c
      	(render_image_tile_fault_nearest): corrected formula used for
      	pre-multiplying the alpha value.
      
      
      svn path=/trunk/; revision=24353
      1b4f8718
    • Sven Neumann's avatar
      Speed up our display rendering code paths by keeping data with · aaa16d3b
      Sven Neumann authored
      2007-12-13  Sven Neumann  <sven@gimp.org>
      
      	Speed up our display rendering code paths by keeping data with
      	pre-multiplied alpha where possible. The projection tile-manager
      	at 100 % zoom is not affected. So we can still always get the
      	non-pre-multiplied pixel data.
      
      	* app/core/gimpprojection.[ch]: removed
      	gimp_projection_get_opacity(), the projection is always opaque.
      
      	* app/base/tile-pyramid.[ch]: use pre-multiplied alpha for the
      	upper levels of the pyramid. This speeds up validation of the
      	upper levels significantly.
      
      	* app/base/temp-buf.[ch]: added temp_buf_demultiply().
      
      	* app/core/gimpimage-preview.c: demultiply the preview temp-buf
      	obtained from the projection's tile tyramid.
      
      	* app/display/gimpdisplayshell-draw.c
      	* app/display/gimpdisplayshell-render.c: added code to deal with
      	pre-multiplied data. In fact all data returned by
      	render_image_tile_fault() is now pre-multiplied so that
      	render_image_rgb_a() and render_image_gray_a() don't need to use
      	the large lookup tables from gimprender.[ch] any longer.
      
      svn path=/trunk/; revision=24352
      aaa16d3b
  9. 30 Oct, 2007 2 commits
    • Sven Neumann's avatar
      shift only by 4 bits instead of 8. Should still keep us from overflowing · c1ec2765
      Sven Neumann authored
      2007-10-30  Sven Neumann  <sven@gimp.org>
      
      	* app/display/gimpdisplayshell-render.c (box_filter): shift only
      	by 4 bits instead of 8. Should still keep us from overflowing 32
      	bit integers but reduces the rounding error and seems to really
      	fix bug #491503.
      
      
      svn path=/trunk/; revision=23996
      c1ec2765
    • Sven Neumann's avatar
      reduce rounding errors. Fixed bug #491503. · c6e030dc
      Sven Neumann authored
      2007-10-30  Sven Neumann  <sven@gimp.org>
      
      	* app/display/gimpdisplayshell-render.c (box_filter): reduce
      	rounding errors. Fixed bug #491503.
      
      	* app/base/tile-pyramid.c (tile_pyramid_write_quarter): reduce
      	rounding errors.
      
      
      svn path=/trunk/; revision=23986
      c6e030dc
  10. 19 Oct, 2007 1 commit
    • Sven Neumann's avatar
      tiny cosmetic cleanups. · 4ba204a2
      Sven Neumann authored
      2007-10-19  Sven Neumann  <sven@gimp.org>
      
      	* app/display/gimpdisplayshell-render.c: tiny cosmetic cleanups.
      
      
      svn path=/trunk/; revision=23886
      4ba204a2
  11. 18 Oct, 2007 1 commit
    • Sven Neumann's avatar
      fixed calculation of the alpha value. · 4bfde23c
      Sven Neumann authored
      2007-10-18  Sven Neumann  <sven@gimp.org>
      
      	* app/display/gimpdisplayshell-render.c (box_filter): fixed
      	calculation of the alpha value.
      
      
      svn path=/trunk/; revision=23864
      4bfde23c
  12. 17 Oct, 2007 1 commit
    • Sven Neumann's avatar
      sprinkled some const qualifiers. · 9f2174fc
      Sven Neumann authored
      2007-10-17  Sven Neumann  <sven@gimp.org>
      
      	* app/display/gimpdisplayshell-render.c (box_filter): sprinkled
      	some const qualifiers.
      
      
      svn path=/trunk/; revision=23862
      9f2174fc
  13. 08 Oct, 2007 2 commits
    • Sven Neumann's avatar
      removed level from GimpDisplayShell struct. · 38f72c00
      Sven Neumann authored
      2007-10-08  Sven Neumann  <sven@gimp.org>
      
      	* app/display/gimpdisplayshell.[ch]: removed level from
      	GimpDisplayShell struct.
      
      	* app/display/gimpdisplayshell-render.c: fixed rendering of the 
      mask.
      	Closes bug #448417 again.
      
      
      svn path=/trunk/; revision=23767
      38f72c00
    • Sven Neumann's avatar
      app/config/gimpdisplayconfig.[ch] app/config/gimprc-blurbs.h · 95c6df09
      Sven Neumann authored
      2007-10-08  Sven Neumann  <sven@gimp.org>
      
      	* app/config/gimpdisplayconfig.[ch]
      	* app/config/gimprc-blurbs.h
      	* app/display/display-enums.[ch]
      	* app/display/gimpdisplayshell-handlers.c
      	* app/display/gimpdisplayshell-render.c: allow to configure the
      	display zoom quality.
      
      	* app/display/gimpdisplayshell-transform.c: formatting. 
      
      svn path=/trunk/; revision=23760
      95c6df09
  14. 30 Sep, 2007 1 commit
    • Simon Budig's avatar
      app/display/gimpdisplayshell.[ch] 64bittified the code so that the new · 682695a8
      Simon Budig authored
      2007-09-30  Simon Budig  <simon@gimp.org>
      
      	* app/display/gimpdisplayshell.[ch]
      	* app/display/gimpdisplayshell-render.c: 64bittified the code so
      	  that the new renderer also works for big images. Slightly
      	  reorganized.
      
      	* app/display/gimpdisplayshell-transform.c: Another go at
      	  bug #474509. This even might be fixed now...
      
      
      svn path=/trunk/; revision=23698
      682695a8
  15. 26 Sep, 2007 1 commit
  16. 24 Sep, 2007 1 commit
  17. 23 Sep, 2007 2 commits
    • Simon Budig's avatar
      oops - managed to miss the mask rendering. · a26c1d7d
      Simon Budig authored
      2007-09-23  Simon Budig  <simon@gimp.org>
      
      	* app/display/gimpdisplayshell-render.c: oops - managed to miss the
      	mask rendering.
      
      
      svn path=/trunk/; revision=23619
      a26c1d7d
    • Simon Budig's avatar
      use Bresenham stepping for the y-direction as well. · 7d0a4ce1
      Simon Budig authored
      2007-09-23  Simon Budig  <simon@gimp.org>
      
      	* app/display/gimpdisplayshell-render.c: use Bresenham stepping
      	for the y-direction as well.
      
      	Fixes bug #474509.
      
      	Retired old and unused functions.
      
      
      svn path=/trunk/; revision=23618
      7d0a4ce1
  18. 22 Sep, 2007 1 commit
    • Simon Budig's avatar
      implement bresenham-like stepping for interpolating the view in · 40f66e9c
      Simon Budig authored
      2007-09-23  Simon Budig  <simon@gimp.org>
      
      	* app/display/gimpdisplayshell-render.c: implement
      	bresenham-like stepping for interpolating the view in
      	x-direction. Since I now know how it is supposed to work
      	the y direction will follow shortly.
      
      	Adresses bug #474509.
      
      
      svn path=/trunk/; revision=23617
      40f66e9c
  19. 16 Sep, 2007 1 commit
  20. 14 Sep, 2007 1 commit
    • Sven Neumann's avatar
      formatting. · ff80ac17
      Sven Neumann authored
      2007-09-14  Sven Neumann  <sven@gimp.org>
      
      	* app/base/tile-pyramid.c: formatting.
      
      	* app/display/gimpdisplayshell-render.c: removed unused include.
      
      svn path=/trunk/; revision=23545
      ff80ac17
  21. 12 Sep, 2007 2 commits
    • Øyvind Kolås's avatar
      clone the middle row/column when walking off the source drawable during · eb8924c0
      Øyvind Kolås authored
      * app/display/gimpdisplayshell-render.c: (render_image_tile_fault),
      (render_image_tile_fault_one_row): clone the middle row/column when
      walking off the source drawable during downscaling. Probably fixes bug
      #469567.
      
      svn path=/trunk/; revision=23521
      eb8924c0
    • Sven Neumann's avatar
      use the offsets module TILE_WIDTH and TILE_HEIGHT instead of doing the · 1954ee81
      Sven Neumann authored
      2007-09-12  Sven Neumann  <sven@gimp.org>
      
      	* app/base/tile.c (tile_data_pointer): use the offsets module
      	TILE_WIDTH and TILE_HEIGHT instead of doing the module operation
      	in each and every caller.
      
      	* app/base/boundary.c
      	* app/base/pixel-region.c
      	* app/base/tile-manager.c
      	* app/core/gimpchannel.c
      	* app/core/gimpdrawable-blend.c
      	* app/core/gimpdrawable.c
      	* app/core/gimpimage-contiguous-region.c
      	* app/core/gimplayer.c
      	* app/display/gimpdisplayshell-render.c
      	* app/paint-funcs/paint-funcs.c
      	* app/paint/gimppaintcore.c
      	* app/tools/gimpiscissorstool.c: changed accordingly.
      
      
      svn path=/trunk/; revision=23515
      1954ee81
  22. 11 Sep, 2007 1 commit
    • Sven Neumann's avatar
      formatting. · 4ec78466
      Sven Neumann authored
      2007-09-11  Sven Neumann  <sven@gimp.org>
      
      	* app/display/gimpdisplayshell-render.c: formatting.
      
      svn path=/trunk/; revision=23502
      4ec78466
  23. 31 Aug, 2007 2 commits
  24. 24 Aug, 2007 6 commits
    • Øyvind Kolås's avatar
      s/compute_sample/box_filter/. · 8f8c98d1
      Øyvind Kolås authored
      * app/display/gimpdisplayshell-render.c: s/compute_sample/box_filter/.
      
      svn path=/trunk/; revision=23365
      8f8c98d1
    • Øyvind Kolås's avatar
      swapped center and middle terms around (now center means horizontal · 8f5819a5
      Øyvind Kolås authored
      * app/display/gimpdisplayshell-render.c: swapped center and middle
      terms around (now center means horizontal (betwen left and right )and
      middle means vertical (between top and bottom)).
      
      svn path=/trunk/; revision=23363
      8f5819a5
    • Øyvind Kolås's avatar
      removed a temporary variable, simplified logic slightly. · a3a62532
      Øyvind Kolås authored
      * app/display/gimpdisplayshell-render.c: (compute_sample): removed
      a temporary variable, simplified logic slightly.
      (render_image_tile_fault, render_image_tile_fault_one_row): moved
      sum computation out of loop.
      
      svn path=/trunk/; revision=23362
      a3a62532
    • Øyvind Kolås's avatar
      Replaced signed integres with unsigned ones for weights etc to gain some · d51e3c42
      Øyvind Kolås authored
      * app/display/gimpdisplayshell-render.c: Replaced signed integres with
      unsigned ones for weights etc to gain some additional bits of
      precision. Enabled anti-aliasing for zoomlevels between 100% and 200%
      to improve the smoothness of the display at the levels where the size
      differences between pixels yields the most distracting artifacts.
      
      svn path=/trunk/; revision=23361
      d51e3c42
    • Øyvind Kolås's avatar
      Reshuffled shifting code in fixed point code of display to improve · 42433749
      Øyvind Kolås authored
      quality.
      * app/display/gimpdisplayshell-render.c:
      (compute_sample): reshuffle a bit of the fixed point induced
      shifting to allow higher precision.
      (render_image_tile_fault): remove need to disable box-filter
      for some non square zoom ratios that was needed before
      compute_sample cleanup.
      , (render_image_tile_fault_one_row): fetch source sample #1
      from the correct tile.
      
      svn path=/trunk/; revision=23360
      42433749
    • Øyvind Kolås's avatar
      fixed a division by zero issue. · 306e21b3
      Øyvind Kolås authored
      * app/display/gimpdisplayshell-render.c: (compute_sample)
      fixed a division by zero issue.
      
      svn path=/trunk/; revision=23357
      306e21b3
  25. 23 Aug, 2007 3 commits
  26. 22 Aug, 2007 1 commit