~ubuntu-branches/ubuntu/jaunty/gimp/jaunty-security

« back to all changes in this revision

Viewing changes to app/widgets/gimpviewrendererbuffer.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Holbach
  • Date: 2007-05-02 16:33:03 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20070502163303-bvzhjzbpw8qglc4y
Tags: 2.3.16-1ubuntu1
* Resynchronized with Debian, remaining Ubuntu changes:
  - debian/rules: i18n magic.
* debian/control.in:
  - Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
* debian/patches/02_help-message.patch,
  debian/patches/03_gimp.desktop.in.in.patch,
  debian/patches/10_dont_show_wizard.patch: updated.
* debian/patches/04_composite-signedness.patch,
  debian/patches/05_add-letter-spacing.patch: dropped, used upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* The GIMP -- an image manipulation program
 
1
/* GIMP - The GNU Image Manipulation Program
2
2
 * Copyright (C) 1995 Spencer Kimball and Peter Mattis
3
3
 *
4
4
 * gimpviewrendererbuffer.c
5
 
 * Copyright (C) 2004 Michael Natterer <mitch@gimp.org>
 
5
 * Copyright (C) 2004-2006 Michael Natterer <mitch@gimp.org>
6
6
 *
7
7
 * This program is free software; you can redistribute it and/or modify
8
8
 * it under the terms of the GNU General Public License as published by
29
29
 
30
30
#include "base/temp-buf.h"
31
31
 
32
 
#include "core/gimpbuffer.h"
 
32
#include "core/gimpviewable.h"
33
33
 
34
34
#include "gimpviewrendererbuffer.h"
35
35
 
36
36
 
37
 
static void   gimp_view_renderer_buffer_class_init (GimpViewRendererBufferClass *klass);
38
 
 
39
 
static void   gimp_view_renderer_buffer_render     (GimpViewRenderer *renderer,
40
 
                                                    GtkWidget        *widget);
41
 
 
42
 
 
43
 
static GimpViewRendererClass *parent_class = NULL;
44
 
 
45
 
 
46
 
GType
47
 
gimp_view_renderer_buffer_get_type (void)
48
 
{
49
 
  static GType renderer_type = 0;
50
 
 
51
 
  if (! renderer_type)
52
 
    {
53
 
      static const GTypeInfo renderer_info =
54
 
      {
55
 
        sizeof (GimpViewRendererBufferClass),
56
 
        NULL,           /* base_init */
57
 
        NULL,           /* base_finalize */
58
 
        (GClassInitFunc) gimp_view_renderer_buffer_class_init,
59
 
        NULL,           /* class_finalize */
60
 
        NULL,           /* class_data */
61
 
        sizeof (GimpViewRendererBuffer),
62
 
        0,              /* n_preallocs */
63
 
        NULL            /* instance_init */
64
 
      };
65
 
 
66
 
      renderer_type = g_type_register_static (GIMP_TYPE_VIEW_RENDERER,
67
 
                                              "GimpViewRendererBuffer",
68
 
                                              &renderer_info, 0);
69
 
    }
70
 
 
71
 
  return renderer_type;
72
 
}
 
37
static void   gimp_view_renderer_buffer_render (GimpViewRenderer *renderer,
 
38
                                                GtkWidget        *widget);
 
39
 
 
40
 
 
41
G_DEFINE_TYPE (GimpViewRendererBuffer, gimp_view_renderer_buffer,
 
42
               GIMP_TYPE_VIEW_RENDERER)
 
43
 
 
44
#define parent_class gimp_view_renderer_buffer_class_init
 
45
 
73
46
 
74
47
static void
75
48
gimp_view_renderer_buffer_class_init (GimpViewRendererBufferClass *klass)
76
49
{
77
50
  GimpViewRendererClass *renderer_class = GIMP_VIEW_RENDERER_CLASS (klass);
78
51
 
79
 
  parent_class = g_type_class_peek_parent (klass);
80
 
 
81
52
  renderer_class->render = gimp_view_renderer_buffer_render;
82
53
}
83
54
 
84
55
static void
 
56
gimp_view_renderer_buffer_init (GimpViewRendererBuffer *renderer)
 
57
{
 
58
}
 
59
 
 
60
static void
85
61
gimp_view_renderer_buffer_render (GimpViewRenderer *renderer,
86
62
                                  GtkWidget        *widget)
87
63
{
88
 
  GimpBuffer *buffer;
89
 
  gint        view_width;
90
 
  gint        view_height;
91
 
  gboolean    scaling_up;
92
 
  TempBuf    *render_buf = NULL;
93
 
 
94
 
  buffer = GIMP_BUFFER (renderer->viewable);
95
 
 
96
 
  gimp_viewable_calc_preview_size (gimp_buffer_get_width (buffer),
97
 
                                   gimp_buffer_get_height (buffer),
 
64
  gint      buffer_width;
 
65
  gint      buffer_height;
 
66
  gint      view_width;
 
67
  gint      view_height;
 
68
  gboolean  scaling_up;
 
69
  TempBuf  *render_buf = NULL;
 
70
 
 
71
  gimp_viewable_get_size (renderer->viewable, &buffer_width, &buffer_height);
 
72
 
 
73
  gimp_viewable_calc_preview_size (buffer_width,
 
74
                                   buffer_height,
98
75
                                   renderer->width,
99
76
                                   renderer->height,
100
77
                                   TRUE, 1.0, 1.0,
107
84
      TempBuf *temp_buf;
108
85
 
109
86
      temp_buf = gimp_viewable_get_new_preview (renderer->viewable,
110
 
                                                gimp_buffer_get_width (buffer),
111
 
                                                gimp_buffer_get_height (buffer));
 
87
                                                renderer->context,
 
88
                                                buffer_width, buffer_height);
112
89
 
113
90
      if (temp_buf)
114
91
        {
120
97
  else
121
98
    {
122
99
      render_buf = gimp_viewable_get_new_preview (renderer->viewable,
 
100
                                                  renderer->context,
123
101
                                                  view_width, view_height);
124
102
    }
125
103