< prev index next >

src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c

Print this page
rev 16167 : 8170525: Fix minor issues in awt coding
Summary: Also fixes some issues in ece coding.
Reviewed-by: vinnie


1997 }
1998 
1999 static gint gtk3_get_ythickness(JNIEnv *env, WidgetType widget_type)
2000 {
2001     init_containers();
2002 
2003     gtk3_widget = gtk3_get_widget(widget_type);
2004     GtkStyleContext* context = fp_gtk_widget_get_style_context (gtk3_widget);
2005     if (context) {
2006         GtkBorder padding;
2007         fp_gtk_style_context_get_padding(context, 0, &padding);
2008         return padding.top + 1;
2009     }
2010     return 0;
2011 }
2012 
2013 /*************************************************/
2014 static guint8 recode_color(gdouble channel)
2015 {
2016     guint16 result = (guint16)(channel * 65535);
2017     if (result < 0) {
2018         result = 0;
2019     } else if (result > 65535) {
2020         result = 65535;
2021     }
2022     return (guint8)( result >> 8);
2023 }
2024 
2025 static GtkStateFlags gtk3_get_state_flags(GtkStateType state_type) {
2026     switch (state_type)
2027     {
2028         case GTK_STATE_NORMAL:
2029             return GTK_STATE_FLAG_NORMAL;
2030         case GTK_STATE_ACTIVE:
2031             return GTK_STATE_FLAG_ACTIVE;
2032         case GTK_STATE_PRELIGHT:
2033             return GTK_STATE_FLAG_PRELIGHT;
2034         case GTK_STATE_SELECTED:
2035             return GTK_STATE_FLAG_SELECTED;
2036         case GTK_STATE_INSENSITIVE:
2037             return GTK_STATE_FLAG_INSENSITIVE;
2038         case GTK_STATE_INCONSISTENT:
2039             return GTK_STATE_FLAG_INCONSISTENT;


2201     green = 1.0;
2202   else if (green < 0.0)
2203     green = 0.0;
2204 
2205   blue *= k;
2206   if (blue > 1.0)
2207     blue = 1.0;
2208   else if (blue < 0.0)
2209     blue = 0.0;
2210 
2211   hls_to_rgb (&red, &green, &blue);
2212 
2213   b->red = red;
2214   b->green = green;
2215   b->blue = blue;
2216 }
2217 
2218 static GdkRGBA gtk3_get_color_for_flags(GtkStyleContext* context,
2219                                   GtkStateFlags flags, ColorType color_type) {
2220     GdkRGBA c, color;

2221 
2222     switch (color_type)
2223     {
2224         case FOREGROUND:
2225         case TEXT_FOREGROUND:
2226             fp_gtk_style_context_get_color(context, flags, &color);
2227             break;
2228         case BACKGROUND:
2229         case TEXT_BACKGROUND:
2230             fp_gtk_style_context_get_background_color(context, flags, &color);
2231             break;
2232         case LIGHT:
2233             c = gtk3_get_color_for_flags(context, flags, BACKGROUND);
2234             gtk3_style_shade(&c, &color, LIGHTNESS_MULT);
2235             break;
2236         case DARK:
2237             c = gtk3_get_color_for_flags(context, flags, BACKGROUND);
2238             gtk3_style_shade (&c, &color, DARKNESS_MULT);
2239             break;
2240         case MID:




1997 }
1998 
1999 static gint gtk3_get_ythickness(JNIEnv *env, WidgetType widget_type)
2000 {
2001     init_containers();
2002 
2003     gtk3_widget = gtk3_get_widget(widget_type);
2004     GtkStyleContext* context = fp_gtk_widget_get_style_context (gtk3_widget);
2005     if (context) {
2006         GtkBorder padding;
2007         fp_gtk_style_context_get_padding(context, 0, &padding);
2008         return padding.top + 1;
2009     }
2010     return 0;
2011 }
2012 
2013 /*************************************************/
2014 static guint8 recode_color(gdouble channel)
2015 {
2016     guint16 result = (guint16)(channel * 65535);
2017     if (result > 65535) {


2018         result = 65535;
2019     }
2020     return (guint8)( result >> 8);
2021 }
2022 
2023 static GtkStateFlags gtk3_get_state_flags(GtkStateType state_type) {
2024     switch (state_type)
2025     {
2026         case GTK_STATE_NORMAL:
2027             return GTK_STATE_FLAG_NORMAL;
2028         case GTK_STATE_ACTIVE:
2029             return GTK_STATE_FLAG_ACTIVE;
2030         case GTK_STATE_PRELIGHT:
2031             return GTK_STATE_FLAG_PRELIGHT;
2032         case GTK_STATE_SELECTED:
2033             return GTK_STATE_FLAG_SELECTED;
2034         case GTK_STATE_INSENSITIVE:
2035             return GTK_STATE_FLAG_INSENSITIVE;
2036         case GTK_STATE_INCONSISTENT:
2037             return GTK_STATE_FLAG_INCONSISTENT;


2199     green = 1.0;
2200   else if (green < 0.0)
2201     green = 0.0;
2202 
2203   blue *= k;
2204   if (blue > 1.0)
2205     blue = 1.0;
2206   else if (blue < 0.0)
2207     blue = 0.0;
2208 
2209   hls_to_rgb (&red, &green, &blue);
2210 
2211   b->red = red;
2212   b->green = green;
2213   b->blue = blue;
2214 }
2215 
2216 static GdkRGBA gtk3_get_color_for_flags(GtkStyleContext* context,
2217                                   GtkStateFlags flags, ColorType color_type) {
2218     GdkRGBA c, color;
2219     color.alpha = 0;
2220 
2221     switch (color_type)
2222     {
2223         case FOREGROUND:
2224         case TEXT_FOREGROUND:
2225             fp_gtk_style_context_get_color(context, flags, &color);
2226             break;
2227         case BACKGROUND:
2228         case TEXT_BACKGROUND:
2229             fp_gtk_style_context_get_background_color(context, flags, &color);
2230             break;
2231         case LIGHT:
2232             c = gtk3_get_color_for_flags(context, flags, BACKGROUND);
2233             gtk3_style_shade(&c, &color, LIGHTNESS_MULT);
2234             break;
2235         case DARK:
2236             c = gtk3_get_color_for_flags(context, flags, BACKGROUND);
2237             gtk3_style_shade (&c, &color, DARKNESS_MULT);
2238             break;
2239         case MID:


< prev index next >