1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
/*=========================================================================
Program: Visualization Toolkit
Module: $RCSfile: vtkJavaPanel.cxx,v $
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
#include "vtkSystemIncludes.h"
#include <X11/Intrinsic.h>
#include "vtkJavaUtil.h"
// #define VTKJAVADEBUG
// super hack 9000
// include the header file as a C code fragment
// include the JAVA C stubs file as a C code fragment
extern "C" {
#include "java/vtk_vtkPanel.h"
#include "java/vtk_vtkPanel.c"
typedef struct Classsun_awt_motif_MCanvasPeer {
struct Hjava_awt_Component *target;
long pData;
} Classsun_awt_motif_MCanvasPeer;
HandleTo(sun_awt_motif_MCanvasPeer);
struct ComponentData {
Widget widget;
int repaintPending;
int x1, y1, x2, y2;
};
struct CanvasData {
struct ComponentData comp;
Widget shell;
int flags;
};
#define PEER_PDATA(T, T2, x) ((struct T *)(unhand((struct T2 *)unhand(x)->peer)->pData))
}
#include "vtkRenderWindow.h"
void vtk_vtkPanel_setWindow(struct Hvtk_vtkPanel *me,
struct Hvtk_vtkRenderWindow *id0)
{
void *temp;
vtkRenderWindow *op;
op = (vtkRenderWindow *)vtkJavaGetPointerFromObject(id0,"vtkRenderWindow");
struct CanvasData *wdata =
PEER_PDATA(CanvasData, Hsun_awt_motif_MCanvasPeer, me);
Widget wig = wdata->comp.widget;
// cerr << XtDisplay(wig) << " Display\n";
// cerr << XtWindowOfObject(wig) << " Window\n";
op->SetDisplayId((void *)XtDisplay(wig));
op->SetWindowId((void *)XtWindowOfObject(wig));
}
|