frame.c

Go to the documentation of this file.
00001 
00016 #include "component.h"
00017 #include "container.h"
00018 #include "frame.h"
00019 
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023 
00032 void showFrame(Frame* frame) {
00033    callVoidMethod(frame->frame.frame, frame->frame.mshow);
00034 }
00035 
00044 void hideFrame(Frame* frame) {
00045    callVoidMethod(frame->frame.frame, frame->frame.mhide);
00046 }
00047 
00058 void closeFrame(Frame* frame) {
00059    callVoidMethod(frame->frame.frame, frame->frame.mclose);
00060 }
00061 
00070 void setFrameTitle(Frame* frame, const char* title) {
00071    jstring jtitle = createJString(title);
00072    callVoidMethod(frame->frame.frame, frame->frame.msetTitle, jtitle);
00073    deleteGlobalReference(jtitle);
00074 }
00075 
00085 char* getFrameTitle(Frame* frame) {
00086    char* title;
00087    jstring jtitle;
00088    jtitle = (jstring) callObjectMethod(frame->frame.frame, frame->frame.mgetTitle);
00089    title = convertJString(jtitle);
00090    deleteLocalReference(jtitle);
00091    return title;
00092 }
00093 
00104 void setFrameSize(Frame* frame, jint width, jint height) {
00105    setSize(frame->frame.frame, width, height);
00106 }
00107 
00118 jint getFrameWidth(Frame* frame) {
00119    return getWidth(frame->frame.frame);
00120 }
00121 
00132 jint getFrameHeight(Frame* frame) {
00133    return getHeight(frame->frame.frame);
00134 }
00135 
00146 void setFrameLocation(Frame* frame, jint x, jint y) {
00147    setLocation(frame->frame.frame, x, y);
00148 }
00149 
00160 jint getFrameX(Frame* frame) {
00161    return getX(frame->frame.frame);
00162 }
00163 
00174 jint getFrameY(Frame* frame) {
00175    return getY(frame->frame.frame);
00176 }
00177 
00186 void setFrameForegroundColor(Frame* frame, const Color c) {
00187    setForeground(frame->frame.frame, c);
00188 }
00189 
00199 Color getFrameForegroundColor(Frame* frame) {
00200    return getForeground(frame->frame.frame);
00201 }
00202 
00211 void setFrameBackgroundColor(Frame* frame, const Color c) {
00212    setBackground(frame->frame.frame, c);
00213 }
00214 
00224 Color getFrameBackgroundColor(Frame* frame)  {
00225    return getBackground(frame->frame.frame);
00226 }
00227 
00236 void setFrameState(Frame* frame, jint state) {
00237    callVoidMethod(frame->frame.frame, frame->frame.msetState, state);
00238 }
00239 
00249 jint getFrameState(Frame* frame)  {
00250    return callIntMethod(frame->frame.frame, frame->frame.mgetState);
00251 }
00252 
00261 void setFrameMenuBar(Frame* frame, MenuBar* menubar) {
00262    callVoidMethod(frame->frame.frame, frame->frame.msetMenuBar, menubar->menubar.menubar);
00263 }
00264 
00273 jboolean isSameWindow(Frame* frame, Window window) {
00274    return callBooleanMethod(frame->frame.frame, frame->frame.misSameWindow, window);
00275 }
00276 
00288 WindowListener addFrameWindowListener(Frame* frame, void (*func)(jint, Window)) {
00289    return addWindowListener(frame->frame.frame, func);
00290 }
00291 
00301 void removeFrameWindowListener(Frame* frame, WindowListener wl) {
00302    removeWindowListener(frame->frame.frame, wl);
00303 }
00304 
00316 MouseListener addFrameMouseListener(Frame* frame, void (*func)(jint, Component, jint, jint, jint, jint)) {
00317    return addMouseListener(frame->frame.frame, func);
00318 }
00319 
00329 void removeFrameMouseListener(Frame* frame, MouseListener ml) {
00330    removeMouseListener(frame->frame.frame, ml);
00331 }
00332 
00344 ComponentListener addFrameComponentListener(Frame* frame, void (*func)(jint, Component)) {
00345    return addComponentListener(frame->frame.frame, func);
00346 }
00347 
00357 void removeFrameComponentListener(Frame* frame, ComponentListener cl) {
00358    removeComponentListener(frame->frame.frame, cl);
00359 }
00360 
00371 void drawFrameLine(Frame* frame, jfloat x1, jfloat y1, jfloat x2, jfloat y2, const Color* c) {
00372    jobject jcolor = convertColor(c);
00373    callVoidMethod(frame->frame.frame, frame->frame.mdrawLine, x1, y1, x2, y2, jcolor);
00374    deleteGlobalReference(jcolor);
00375 }
00376 
00388 void drawFrameRectangle(Frame* frame, jfloat x, jfloat y, jfloat width, jfloat height, jboolean filled, const Color* c) {
00389    jobject jcolor = convertColor(c);
00390    callVoidMethod(frame->frame.frame, frame->frame.mdrawRectangle, x, y, width, height, filled, jcolor);
00391    deleteGlobalReference(jcolor);
00392 }
00393 
00405 void drawFrameEllipse(Frame* frame, jfloat x, jfloat y, jfloat width, jfloat height, jboolean filled, const Color* c) {
00406    jobject jcolor = convertColor(c);
00407    callVoidMethod(frame->frame.frame, frame->frame.mdrawEllipse, x, y, width, height, filled, jcolor);
00408    deleteGlobalReference(jcolor);
00409 }
00410 
00420 void drawFrameString(Frame* frame, const char* text, jfloat x, jfloat y, const Color* c) {
00421    jobject jtext = createJString(text);
00422    jobject jcolor = convertColor(c);
00423    callVoidMethod(frame->frame.frame, frame->frame.mdrawString, jtext, x, y, jcolor);
00424    deleteGlobalReference(jtext);
00425    deleteGlobalReference(jcolor);
00426 }
00427 
00433 void clearFrameScreen(Frame* frame) {
00434    callVoidMethod(frame->frame.frame, frame->frame.mclearScreen);
00435 }
00436 
00443 void drawFrameShape(Frame* frame, const Shape* s) {
00444    callVoidMethod(frame->frame.frame, frame->frame.maddDrawable, s->shape.shape);
00445 }
00446 
00453 void setFrameLayout(Frame* frame, jobject layoutmanager) {
00454    setLayout(frame->frame.frame, layoutmanager);
00455 }
00456 
00465 void addFrameComponent(Frame* frame, jobject comp) {
00466    addComponent(frame->frame.frame, comp);
00467 }
00468 
00478 void addFrameComponentWithConstraint(Frame* frame, jobject comp, jobject constraint) {
00479    addComponentWithConstraint(frame->frame.frame, comp, constraint);
00480 }
00481 
00487 void initFrame_(Frame_* frame) {
00488    frame->show = &showFrame;
00489    frame->hide = &hideFrame;
00490    frame->close = &closeFrame;
00491 
00492    frame->setTitle = &setFrameTitle;
00493    frame->getTitle = &getFrameTitle;
00494 
00495    frame->setSize = &setFrameSize;
00496    frame->getWidth = &getFrameWidth;
00497    frame->getHeight = &getFrameHeight;
00498    frame->setLocation = &setFrameLocation;
00499    frame->getX = &getFrameX;
00500    frame->getY = &getFrameY;
00501    frame->setForegroundColor = &setFrameForegroundColor;
00502    frame->getForegroundColor = &getFrameForegroundColor;
00503    frame->setBackgroundColor = &setFrameBackgroundColor;
00504    frame->getBackgroundColor = &getFrameBackgroundColor;
00505    frame->setState = &setFrameState;
00506    frame->getState = &getFrameState;
00507    frame->setMenuBar = &setFrameMenuBar;
00508 
00509    frame->isSameWindow = &isSameWindow;
00510 
00511    frame->addWindowListener = &addFrameWindowListener;
00512    frame->removeWindowListener = &removeFrameWindowListener;
00513    frame->addMouseListener = &addFrameMouseListener;
00514    frame->removeMouseListener = &removeFrameMouseListener;
00515    frame->addComponentListener = &addFrameComponentListener;
00516    frame->removeComponentListener = &removeFrameComponentListener;
00517 
00518    frame->drawLine = &drawFrameLine;
00519    frame->drawRectangle = &drawFrameRectangle;
00520    frame->drawEllipse = &drawFrameEllipse;
00521    frame->drawString = &drawFrameString;
00522    frame->clearScreen = &clearFrameScreen;
00523    frame->drawShape = &drawFrameShape;
00524 
00525    frame->setLayout = &setFrameLayout;
00526    frame->addComponent = &addFrameComponent;
00527    frame->addComponentWithConstraint = &addFrameComponentWithConstraint;
00528 }
00529 
00536 void createFrame_(Frame* frame) {
00537    frame->frame.clsframe = findClass(CLS_FRAME);
00538    frame->frame.mshow = findMethod(frame->frame.clsframe, "showFrame", "()V");
00539    frame->frame.mhide = findMethod(frame->frame.clsframe, "hideFrame", "()V");
00540    frame->frame.mclose = findMethod(frame->frame.clsframe, "close", "()V");
00541 
00542    frame->frame.msetTitle = findMethod(frame->frame.clsframe, "setTitle", "(Ljava/lang/String;)V"); 
00543    frame->frame.mgetTitle = findMethod(frame->frame.clsframe, "getTitle", "()Ljava/lang/String;"); 
00544 
00545    frame->frame.msetState = findMethod(frame->frame.clsframe, "setExtState", "(I)V");
00546    frame->frame.mgetState = findMethod(frame->frame.clsframe, "getExtState", "()I");
00547    frame->frame.msetMenuBar = findMethod(frame->frame.clsframe, "setMenuBar", "(Ljava/awt/MenuBar;)V");
00548 
00549    frame->frame.mdrawLine = findMethod(frame->frame.clsframe, "drawLine", "(FFFFLjava/awt/Color;)V");
00550    frame->frame.mdrawRectangle = findMethod(frame->frame.clsframe, "drawRectangle", "(FFFFZLjava/awt/Color;)V");
00551    frame->frame.mdrawEllipse = findMethod(frame->frame.clsframe, "drawEllipse", "(FFFFZLjava/awt/Color;)V");
00552    frame->frame.mdrawString = findMethod(frame->frame.clsframe, "drawString", "(Ljava/lang/String;FFLjava/awt/Color;)V");
00553    frame->frame.mclearScreen = findMethod(frame->frame.clsframe, "clearScreen", "()V");
00554    frame->frame.maddDrawable = findMethod(frame->frame.clsframe, "addDrawable", "(Lat/fhv/sgr/graphiclib/draw/IDrawable;)V");
00555 
00556    frame->frame.misSameWindow = findMethod(frame->frame.clsframe, "isSameWindow", "(Ljava/lang/Object;)Z");
00557 
00558    frame->frame.frame = newObjectBySignature(frame->frame.clsframe, "()V");
00559 }
00560 
00567 void createFrameCPP(FrameCPP_* frame) {
00568    frame->functions = (Frame_*)malloc(sizeof(Frame_));
00569    initFrame_(frame->functions);
00570    createFrame_((Frame*)frame);
00571 }
00572 
00579 void createFrameC(Frame_* frame) {
00580    initFrame_(frame);
00581    createFrame_((Frame*)frame);
00582 }
00583 
00589 void deleteFrame_(Frame* frame) {
00590    deleteGlobalReference(frame->frame.frame);
00591    deleteGlobalReference(frame->frame.clsframe);
00592 }
00593 
00599 void deleteFrameCPP(FrameCPP_* frame) {
00600    deleteFrame_((Frame*)frame);
00601    free(frame->functions);
00602 }
00603 
00609 void deleteFrameC(Frame_* frame) {
00610    deleteFrame_((Frame*)frame);
00611 }
00612 
00613 #ifdef __cplusplus
00614 } /* extern "C" */
00615 #endif
00616 
00617 /* end of file frame.c */

Generated on Sat Nov 19 14:11:11 2005 for GrubC by  doxygen 1.4.4