jdk/src/java.desktop/unix/native/libawt_headless/awt/VDrawingArea.c
changeset 37760 cc50ee6a8454
parent 37759 f0b5daef41b6
parent 37742 52fcbe9be0a3
child 37761 82b8d12a553f
--- a/jdk/src/java.desktop/unix/native/libawt_headless/awt/VDrawingArea.c	Mon May 02 18:10:36 2016 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,344 +0,0 @@
-/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#ifndef HEADLESS
-
-#include <X11/IntrinsicP.h>
-#include "VDrawingAreaP.h"
-
-#endif /* !HEADLESS */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#ifdef __linux__
-/* XXX: Shouldn't be necessary. */
-#include "awt_p.h"
-#endif /* __linux__ */
-
-
-/******************************************************************
- *
- * Provides Canvas widget which allows the X11 visual to be
- * changed (the Motif DrawingArea restricts the visual to that
- * of the parent widget).
- *
- ******************************************************************/
-
-
-/******************************************************************
- *
- * VDrawingArea Widget Resources
- *
- ******************************************************************/
-
-#ifndef HEADLESS
-#define Offset(x)       (XtOffsetOf(VDrawingAreaRec, x))
-static XtResource resources[]=
-{
-        { XtNvisual, XtCVisual, XtRVisual, sizeof(Visual*),
-          Offset(vdrawing_area.visual), XtRImmediate, CopyFromParent}
-};
-
-
-static void Realize();
-static Boolean SetValues();
-static void Destroy ();
-
-static XmBaseClassExtRec baseClassExtRec = {
-    NULL,
-    NULLQUARK,
-    XmBaseClassExtVersion,
-    sizeof(XmBaseClassExtRec),
-    NULL,                               /* InitializePrehook    */
-    NULL,                               /* SetValuesPrehook     */
-    NULL,                               /* InitializePosthook   */
-    NULL,                               /* SetValuesPosthook    */
-    NULL,                               /* secondaryObjectClass */
-    NULL,                               /* secondaryCreate      */
-    NULL,                               /* getSecRes data       */
-    { 0 },                              /* fastSubclass flags   */
-    NULL,                               /* getValuesPrehook     */
-    NULL,                               /* getValuesPosthook    */
-    NULL,                               /* classPartInitPrehook */
-    NULL,                               /* classPartInitPosthook*/
-    NULL,                               /* ext_resources        */
-    NULL,                               /* compiled_ext_resources*/
-    0,                                  /* num_ext_resources    */
-    FALSE,                              /* use_sub_resources    */
-    NULL,                               /* widgetNavigable      */
-    NULL,                               /* focusChange          */
-    NULL                                /* wrapper_data         */
-};
-
-VDrawingAreaClassRec vDrawingAreaClassRec = {
-{
-    /* Core class part */
-
-    /* superclass         */    (WidgetClass)&xmDrawingAreaClassRec,
-    /* class_name         */    "VDrawingArea",
-    /* widget_size        */    sizeof(VDrawingAreaRec),
-    /* class_initialize   */    NULL,
-    /* class_part_initialize*/  NULL,
-    /* class_inited       */    FALSE,
-    /* initialize         */    NULL,
-    /* initialize_hook    */    NULL,
-    /* realize            */    Realize,
-    /* actions            */    NULL,
-    /* num_actions        */    0,
-    /* resources          */    resources,
-    /* num_resources      */    XtNumber(resources),
-    /* xrm_class          */    NULLQUARK,
-    /* compress_motion    */    FALSE,
-    /* compress_exposure  */    FALSE,
-    /* compress_enterleave*/    FALSE,
-    /* visible_interest   */    FALSE,
-    /* destroy            */    Destroy,
-    /* resize             */    XtInheritResize,
-    /* expose             */    XtInheritExpose,
-    /* set_values         */    SetValues,
-    /* set_values_hook    */    NULL,
-    /* set_values_almost  */    XtInheritSetValuesAlmost,
-    /* get_values_hook    */    NULL,
-    /* accept_focus       */    NULL,
-    /* version            */    XtVersion,
-    /* callback_offsets   */    NULL,
-    /* tm_table           */    NULL,
-    /* query_geometry       */  NULL,
-    /* display_accelerator  */  NULL,
-    /* extension            */  NULL
-  },
-
-   {            /* composite_class fields */
-      XtInheritGeometryManager,                 /* geometry_manager   */
-      XtInheritChangeManaged,                   /* change_managed     */
-      XtInheritInsertChild,                     /* insert_child       */
-      XtInheritDeleteChild,                     /* delete_child       */
-      NULL,                                     /* extension          */
-   },
-
-   {            /* constraint_class fields */
-      NULL,                                     /* resource list        */
-      0,                                        /* num resources        */
-      0,                                        /* constraint size      */
-      NULL,                                     /* init proc            */
-      NULL,                                     /* destroy proc         */
-      NULL,                                     /* set values proc      */
-      NULL,                                     /* extension            */
-   },
-
-   {            /* manager_class fields */
-      XtInheritTranslations,                    /* translations           */
-      NULL,                                     /* syn_resources          */
-      0,                                        /* num_get_resources      */
-      NULL,                                     /* syn_cont_resources     */
-      0,                                        /* num_get_cont_resources */
-      XmInheritParentProcess,                   /* parent_process         */
-      NULL,                                     /* extension           */
-   },
-
-   {            /* drawingArea class */
-           /* extension */      NULL
-   },
-
-   /* VDrawingArea class part */
-   {
-        /* extension    */      NULL
-   }
-};
-
-WidgetClass vDrawingAreaClass = (WidgetClass)&vDrawingAreaClassRec;
-
-static Boolean
-SetValues(cw, rw, nw, args, num_args)
-    Widget cw;
-    Widget rw;
-    Widget nw;
-    ArgList args;
-    Cardinal *num_args;
-{
-    VDrawingAreaWidget current = (VDrawingAreaWidget)cw;
-    VDrawingAreaWidget new_w = (VDrawingAreaWidget)nw;
-
-    if (new_w->vdrawing_area.visual != current->vdrawing_area.visual) {
-        new_w->vdrawing_area.visual = current->vdrawing_area.visual;
-#ifdef DEBUG
-        fprintf(stdout, "VDrawingArea.SetValues: can't change visual from: visualID=%ld to visualID=%ld\n",
-                     current->vdrawing_area.visual->visualid,
-                     new_w->vdrawing_area.visual->visualid);
-#endif
-
-    }
-
-    return (False);
-}
-
-int
-FindWindowInList (Window parentWindow, Window *colormap_windows, int count)
-{
-    int i;
-
-    for (i = 0; i < count; i++)
-        if (colormap_windows [i] == parentWindow)
-           return i;
-    return -1;
-}
-
-static void
-Realize(w, value_mask, attributes)
-    Widget               w;
-    XtValueMask          *value_mask;
-    XSetWindowAttributes *attributes;
-{
-    Widget parent;
-    Status status;
-    Window *colormap_windows;
-    Window *new_colormap_windows;
-    int count;
-    int i;
-    VDrawingAreaWidget vd = (VDrawingAreaWidget)w;
-
-#ifdef DEBUG
-    fprintf(stdout, "VDrawingArea.Realize: visualID=%ld, depth=%d\n",
-                        vd->vdrawing_area.visual->visualid, w->core.depth);
-#endif
-
-    /* 4328588:
-     * Since we have our own Realize() function, we don't execute the one for
-     * our super-super class, XmManager, and miss the code which checks that
-     * height and width != 0.  I've added that here.  -bchristi
-     */
-    if (!XtWidth(w)) XtWidth(w) = 1 ;
-    if (!XtHeight(w)) XtHeight(w) = 1 ;
-
-    w->core.window = XCreateWindow (XtDisplay (w), XtWindow (w->core.parent),
-                        w->core.x, w->core.y, w->core.width, w->core.height,
-                        0, w->core.depth, InputOutput,
-                        vd->vdrawing_area.visual,
-                        *value_mask, attributes );
-
-    /* Need to add this window to the list of Colormap windows */
-    parent = XtParent (w);
-    while ((parent != NULL) && (!(XtIsShell (parent))))
-        parent = XtParent (parent);
-    if (parent == NULL) {
-        fprintf (stderr, "NO TopLevel widget?!\n");
-        return;
-    }
-
-    status = XGetWMColormapWindows (XtDisplay (w), XtWindow (parent),
-                                    &colormap_windows, &count);
-
-    /* If status is zero, add this window and shell to the list
-       of colormap Windows */
-    if (status == 0) {
-        new_colormap_windows = (Window *) calloc (2, sizeof (Window));
-        new_colormap_windows [0] = XtWindow (w);
-        new_colormap_windows [1] = XtWindow (parent);
-        XSetWMColormapWindows (XtDisplay (w), XtWindow (parent),
-                               new_colormap_windows, 2);
-        free (new_colormap_windows);
-    } else {
-        /* Check if parent is already in the list */
-        int parent_entry = -1;
-
-        if (count > 0)
-            parent_entry = FindWindowInList (XtWindow (parent),
-                                        colormap_windows, count);
-        if (parent_entry == -1) {  /*  Parent not in list  */
-            new_colormap_windows = (Window *) calloc (count + 2,
-                                                sizeof (Window));
-            new_colormap_windows [0] = XtWindow (w);
-            new_colormap_windows [1] = XtWindow (parent);
-            for (i = 0; i < count; i++)
-                new_colormap_windows [i + 2] = colormap_windows [i];
-            XSetWMColormapWindows (XtDisplay (w), XtWindow (parent),
-                                   new_colormap_windows, count + 2);
-
-        } else {        /* parent already in list, just add new window */
-            new_colormap_windows = (Window *) calloc (count + 1,
-                                                sizeof (Window));
-            new_colormap_windows [0] = XtWindow (w);
-            for (i = 0; i < count; i++)
-                new_colormap_windows [i + 1] = colormap_windows [i];
-            XSetWMColormapWindows (XtDisplay (w), XtWindow (parent),
-                                   new_colormap_windows, count + 1);
-        }
-        free (new_colormap_windows);
-        XFree (colormap_windows);
-    }
-
-
-}
-
-static void
-Destroy(Widget widget)
-{
-    Status status;
-    Widget parent;
-    Window *colormap_windows;
-    Window *new_colormap_windows;
-    int count;
-    int listEntry;
-    int i;
-    int j;
-
-    /* Need to get this window's parent shell first */
-    parent = XtParent (widget);
-    while ((parent != NULL) && (!(XtIsShell (parent))))
-        parent = XtParent (parent);
-    if (parent == NULL) {
-        fprintf (stderr, "NO TopLevel widget?!\n");
-        return;
-    }
-
-    status = XGetWMColormapWindows (XtDisplay (widget), XtWindow (parent),
-                                    &colormap_windows, &count);
-
-    /* If status is zero, then there were no colormap windows for
-       the parent ?? */
-
-    if (status == 0)
-        return;
-
-    /* Remove this window from the list of colormap windows */
-    listEntry = FindWindowInList (XtWindow (widget), colormap_windows,
-                                  count);
-
-    new_colormap_windows = (Window *) calloc (count - 1, sizeof (Window));
-    j = 0;
-    for (i = 0; i < count; i++) {
-        if (i == listEntry)
-           continue;
-        new_colormap_windows [j] = colormap_windows [i];
-        j++;
-    }
-    XSetWMColormapWindows (XtDisplay (widget), XtWindow (parent),
-                           new_colormap_windows, count - 1);
-    free (new_colormap_windows);
-    XFree (colormap_windows);
-
-}
-#endif /* !HEADLESS */