app/Makefile.am app/apptypes.h new subclass of GimpDrawableListView (the
2001-03-11 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/apptypes.h * app/gimplayerlistview.[ch]: new subclass of GimpDrawableListView (the upcoming replacement of the layers dialog). Connects to the new GimpLayer signals using the layer container as signal proxy (see below). * app/gimpcontainerview.[ch]: made "set_container" a virtual function. This is needed by the GimpLayerListView to connect/disconnect signals. Subclasses implementing this method MUST obey the following order of instructions: 1. disconnect from signals related to GimpContainerView->container 2. chain up (!!!) 3. connect to signals related to GimpContainerView->container And yes, I will add DocBook files for all those new objects :) * app/gimppreview.[ch]: made "border_color" a GimpRGB instead of guchar[3]. Added gimp_preview_set_border_color(). * app/gimpcontainergridview.c * app/gimplayerlistitem.c: use gimp_preview_set_border_color(). * app/gimpcontainerlistview.c * app/gimpdrawablelistview.c: cleanup. * app/gimpdrawablelistitem.c: we can safely asume that our parent widget is a GimpDrawableListView and use it's "reorder_drawable" function pointer (after checking that it's there). * app/gimplistitem.c: connect the correct DND type when changing the container of a list item with "reorderable" enabled. * app/gimplayer.[ch]: added accessors and "*_changed" signals for layer->mode, layer->opacity and layer->preserve_trans. * app/disp_callbacks.c: fixed a FIXME: use the correct bucket fill tool context again. * app/tools/paint_options.[ch]: paint_mode_menu_new(): added a boolean which toggles the "Behind" item on/off to the same constructor can be used for all paint mode menus. * app/tools/gimptoolinfo.c: rect. select is the standard tool again. * app/brush_select.c * app/floating_sel.c * app/gimpimage.c * app/layers_dialog.c * app/pdb/layer_cmds.c * app/tools/gimpeditselectiontool.c * tools/pdbgen/pdb/layer.pdb: use the new layer accessors and the paint_mode_menu constructor. * app/commands.c * app/gdisplay.c * app/menus.c * app/undo.c * app/tools/gimppainttool.c * app/tools/gimptool.c * app/tools/paint_options.c * app/tools/tool_manager.c: put the #warning's back inside #ifdef __GNUC__
This commit is contained in:

committed by
Michael Natterer

parent
f7cfaa825a
commit
b51d761fcc
@ -25,6 +25,7 @@
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "libgimpcolor/gimpcolor.h"
|
||||
#include "libgimpwidgets/gimpwidgets.h"
|
||||
|
||||
#include "apptypes.h"
|
||||
@ -236,9 +237,7 @@ gimp_preview_init (GimpPreview *preview)
|
||||
preview->height = 8;
|
||||
preview->border_width = 0;
|
||||
|
||||
preview->border_color[0] = 0;
|
||||
preview->border_color[1] = 0;
|
||||
preview->border_color[2] = 0;
|
||||
gimp_rgba_set (&preview->border_color, 0.0, 0.0, 0.0, 1.0);
|
||||
|
||||
preview->is_popup = FALSE;
|
||||
preview->clickable = FALSE;
|
||||
@ -409,47 +408,6 @@ gimp_preview_new_full (GimpViewable *viewable,
|
||||
return GTK_WIDGET (preview);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_preview_set_size (GimpPreview *preview,
|
||||
gint preview_size,
|
||||
gint border_width)
|
||||
{
|
||||
gint width, height;
|
||||
|
||||
g_return_if_fail (preview != NULL);
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= 256);
|
||||
g_return_if_fail (border_width >= 0 && border_width <= 16);
|
||||
|
||||
gimp_preview_get_size (preview, preview_size, &width, &height);
|
||||
|
||||
gimp_preview_set_size_full (preview,
|
||||
width,
|
||||
height,
|
||||
border_width);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_preview_set_size_full (GimpPreview *preview,
|
||||
gint width,
|
||||
gint height,
|
||||
gint border_width)
|
||||
{
|
||||
g_return_if_fail (preview != NULL);
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (width > 0 && width <= 256);
|
||||
g_return_if_fail (height > 0 && height <= 256);
|
||||
g_return_if_fail (border_width >= 0 && border_width <= 16);
|
||||
|
||||
preview->width = width;
|
||||
preview->height = height;
|
||||
preview->border_width = border_width;
|
||||
|
||||
gtk_preview_size (GTK_PREVIEW (preview),
|
||||
width + 2 * preview->border_width,
|
||||
height + 2 * preview->border_width);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_preview_set_viewable (GimpPreview *preview,
|
||||
GimpViewable *viewable)
|
||||
@ -512,6 +470,63 @@ gimp_preview_set_viewable (GimpPreview *preview,
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
gimp_preview_set_size (GimpPreview *preview,
|
||||
gint preview_size,
|
||||
gint border_width)
|
||||
{
|
||||
gint width, height;
|
||||
|
||||
g_return_if_fail (preview != NULL);
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (preview_size > 0 && preview_size <= 256);
|
||||
g_return_if_fail (border_width >= 0 && border_width <= 16);
|
||||
|
||||
gimp_preview_get_size (preview, preview_size, &width, &height);
|
||||
|
||||
gimp_preview_set_size_full (preview,
|
||||
width,
|
||||
height,
|
||||
border_width);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_preview_set_size_full (GimpPreview *preview,
|
||||
gint width,
|
||||
gint height,
|
||||
gint border_width)
|
||||
{
|
||||
g_return_if_fail (preview != NULL);
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (width > 0 && width <= 256);
|
||||
g_return_if_fail (height > 0 && height <= 256);
|
||||
g_return_if_fail (border_width >= 0 && border_width <= 16);
|
||||
|
||||
preview->width = width;
|
||||
preview->height = height;
|
||||
preview->border_width = border_width;
|
||||
|
||||
gtk_preview_size (GTK_PREVIEW (preview),
|
||||
width + 2 * preview->border_width,
|
||||
height + 2 * preview->border_width);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_preview_set_border_color (GimpPreview *preview,
|
||||
const GimpRGB *color)
|
||||
{
|
||||
g_return_if_fail (preview != NULL);
|
||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||
g_return_if_fail (color != NULL);
|
||||
|
||||
if (gimp_rgb_distance (&preview->border_color, color))
|
||||
{
|
||||
preview->border_color = *color;
|
||||
|
||||
gimp_preview_render (preview);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
gimp_preview_render (GimpPreview *preview)
|
||||
{
|
||||
@ -864,11 +879,17 @@ gimp_preview_render_and_flush (GimpPreview *preview,
|
||||
gint image_bytes;
|
||||
gint offset;
|
||||
gint border;
|
||||
guchar border_color[3];
|
||||
|
||||
width = preview->width;
|
||||
height = preview->height;
|
||||
border = preview->border_width;
|
||||
|
||||
gimp_rgb_get_uchar (&preview->border_color,
|
||||
&border_color[0],
|
||||
&border_color[1],
|
||||
&border_color[2]);
|
||||
|
||||
alpha = ALPHA_PIX;
|
||||
|
||||
/* Here are the different cases this functions handles correctly:
|
||||
@ -923,9 +944,9 @@ gimp_preview_render_and_flush (GimpPreview *preview,
|
||||
/* Set the border color once before rendering */
|
||||
for (j = 0; j < width + border * 2; j++)
|
||||
{
|
||||
render_temp_buf[j * 3 + 0] = preview->border_color[0];
|
||||
render_temp_buf[j * 3 + 1] = preview->border_color[1];
|
||||
render_temp_buf[j * 3 + 2] = preview->border_color[2];
|
||||
render_temp_buf[j * 3 + 0] = border_color[0];
|
||||
render_temp_buf[j * 3 + 1] = border_color[1];
|
||||
render_temp_buf[j * 3 + 2] = border_color[2];
|
||||
}
|
||||
|
||||
for (i = 0; i < border; i++)
|
||||
|
Reference in New Issue
Block a user