00001 #ifndef SCBPOINT_H_ 00002 #define SCBPOINT_H_ 00003 00004 /* 00005 * File Name : scbpoint.h 00006 * 00007 * Description: Scribble library point definition 00008 */ 00009 00010 /* 00011 * This file is part of liberscribble. 00012 * 00013 * liberscribble is free software: you can redistribute it and/or modify 00014 * it under the terms of the GNU General Public License as published by 00015 * the Free Software Foundation, either version 2 of the License, or 00016 * (at your option) any later version. 00017 * 00018 * liberscribble is distributed in the hope that it will be useful, 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00021 * GNU General Public License for more details. 00022 * 00023 * You should have received a copy of the GNU General Public License 00024 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00025 */ 00026 00027 /** 00028 * Copyright (C) 2008 iRex Technologies B.V. 00029 * All rights reserved. 00030 */ 00031 00032 00033 //---------------------------------------------------------------------------- 00034 // Include Files 00035 //---------------------------------------------------------------------------- 00036 00037 // system include files, between < > 00038 00039 // ereader include files, between < > 00040 00041 // local include files, between " " 00042 #include "scbstream.h" 00043 00044 #ifdef __cplusplus 00045 extern "C" 00046 { 00047 #endif 00048 00049 00050 //---------------------------------------------------------------------------- 00051 // Definitions 00052 //---------------------------------------------------------------------------- 00053 00054 00055 //---------------------------------------------------------------------------- 00056 // Forward Declarations 00057 //---------------------------------------------------------------------------- 00058 00059 00060 //---------------------------------------------------------------------------- 00061 // Type Declarations 00062 //---------------------------------------------------------------------------- 00063 00064 // NOTE, the point defined here is same as X11 and GDK 00065 // Scribble library also provides another struct ScbDevPoint, which contains pressure info 00066 // ScbPoint is used when scribble library needs to expose data to gdk/X11 00067 typedef struct _ScbPoint 00068 { 00069 int x; /**< x weight of the point */ 00070 int y; /**< y weiget of the point */ 00071 } ScbPoint; 00072 00073 typedef ScbPoint * ScbPointPtr; 00074 00075 // NOTE, device point has pressure value. It serves as input parameter 00076 typedef struct _ScbDevPoint 00077 { 00078 ScbPoint point; /**< coorindate point */ 00079 int pressure; /**< pressure */ 00080 } ScbDevPoint; 00081 00082 typedef ScbDevPoint * ScbDevPointPtr; 00083 00084 00085 //---------------------------------------------------------------------------- 00086 // Global Constants 00087 //---------------------------------------------------------------------------- 00088 00089 00090 //============================================================================ 00091 // Public Functions 00092 //============================================================================ 00093 00094 void erscribble_point_dump(const ScbPointPtr p); 00095 00096 gboolean erscribble_point_load(ScbDevPointPtr point, ScbStreamPtr stream); 00097 00098 00099 #ifdef __cplusplus 00100 } 00101 #endif 00102 00103 #endif