Main Page Class Hierarchy Compound List File List Compound Members File Members Related Pages Examples

# paragui_types.h

Go to the documentation of this file.

    00001 /*
    00002     ParaGUI - crossplatform widgetset
    00003     Copyright (C) 2000  Alexander Pipelka
    00004
    00005     This library is free software; you can redistribute it and/or
    00006     modify it under the terms of the GNU Library General Public
    00007     License as published by the Free Software Foundation; either
    00008     version 2 of the License, or (at your option) any later version.
    00009
    00010     This library is distributed in the hope that it will be useful,
    00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00013     Library General Public License for more details.
    00014
    00015     You should have received a copy of the GNU Library General Public
    00016     License along with this library; if not, write to the Free
    00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    00018
    00019     Alexander Pipelka
    00020     pipelka@teleweb.at
    00021
    00022     Last Update:      $Author: pipelka $
    00023     Update Date:      $Date: 2001/01/31 17:23:14 $
    00024     Source File:      $Source: /usr/local/CVSROOT/linux/paragui/doc/html/paragui_types_h-source.html,v $
    00025     CVS/RCS Revision: $Revision: 1.34 $
    00026     Status:           $State: Exp $
    00027 */
    00028
    00029 #ifndef PARAGUI_TYPES_H
    00030 #define PARAGUI_TYPES_H
    00031
    00032 #ifdef SWIG
    00033 %include "swigcommon.h"
    00034 %module paragui_types
    00035 %{
    00036 #include "paragui_types.h"
    00037 %}
    00038 #endif
    00039
    00040 // Forward declarations
    00041
    00042 class SDLMessageObject;
    00043 class SDLWidget;
    00044
    00045
    00046 #ifdef __cplusplus
    00047 extern "C" {
    00048 #endif
    00049
    00050 // SDL_Point
    00051
    00052 typedef struct {
    00053     int x;
    00054     int y;
    00055 }
    00056 SDL_Point;
    00057
    00058
    00059 // SDL_Gradient
    00060
    00061 typedef struct {
    00062     SDL_Color colors[4];
    00063 }
    00064 SDL_Gradient;
    00065
    00066 typedef unsigned long MSG_ID;
    00067 typedef unsigned long MSG_DATA;
    00068
    00069 typedef enum _MSG_TYPE {
    00070     MSG_BUTTONCLICK,
    00071     MSG_SCROLLPOS,
    00072     MSG_SCROLLTRACK,
    00073     MSG_SLIDE = MSG_SCROLLTRACK,
    00074     MSG_THREAD_SIGNAL,
    00075     MSG_SIGNAL,
    00076     MSG_QUIT,
    00077     MSG_EDITBEGIN,
    00078     MSG_EDITEND,
    00079     MSG_APPIDLE,
    00080     MSG_SELECTITEM
    00081 } MSG_TYPE;
    00082
    00083 #define PARAGUI_CALLBACK(funcname) \
    00084 bool funcname (int id, SDLWidget* widget, unsigned long data, void *clientdata)
    00085
    00086 typedef bool (*MSG_CALLBACK)(int id, SDLWidget* widget, unsigned long data, void *clientdata);
    00087
    00088 // MSG_MESSAGE
    00089
    00090 typedef struct {
    00091     MSG_TYPE    type;
    00092     SDLMessageObject* from;
    00093     SDLMessageObject* to;
    00094     unsigned long widget_id;
    00095     unsigned long data;
    00096     SDL_Point pt;
    00097 }
    00098 MSG_MESSAGE;
    00099
    00100 #ifdef __cplusplus
    00101 }
    00102 #endif
    00103
    00104 #endif // PARAGUI_TYPES_H