File: ColorGC.h

package info (click to toggle)
xfireworks 1.3-16
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,036 kB
  • sloc: ansic: 6,896; makefile: 383; sh: 40
file content (116 lines) | stat: -rw-r--r-- 5,714 bytes parent folder | download
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/*****************************************************************************/
/* ColorGC GCと色の管理・問い合わせ用のライブラリ                            */
/*****************************************************************************/

#ifndef _XFIREWORKS_ColorGC_h_INCLUDED_
#define _XFIREWORKS_ColorGC_h_INCLUDED_

typedef struct _ColorGCDatabase * ColorGCDatabase;
typedef struct _ColorGC * ColorGC;

#include <X11/Xlib.h>

#include "Disp.h"
#include "Obj.h"

/*===========================================================================*/
/* ColorGC 関連                                                              */
/*===========================================================================*/

/*---------------------------------------------------------------------------*/
/* オブジェクトの生成                                                        */
/*---------------------------------------------------------------------------*/

ColorGC ColorGC_Create(ColorGCDatabase database, XColor color);
ColorGC ColorGC_CreateFromColorGC(ColorGCDatabase database, ColorGC c);

/*---------------------------------------------------------------------------*/
/* RGB 値から生成する.                                                      */
/*---------------------------------------------------------------------------*/

ColorGC ColorGC_CreateFromRGB(ColorGCDatabase database,
			      int red, int green, int blue);

/*---------------------------------------------------------------------------*/
/* オブジェクトの削除                                                        */
/*---------------------------------------------------------------------------*/

ColorGC ColorGC_Destroy(ColorGC color_gc);

/*===========================================================================*/
/* 文字列読み込み用関数                                                      */
/*===========================================================================*/

/*---------------------------------------------------------------------------*/
/* 色とGCのデータベースから name で与えられた名前の色を検索する.            */
/*---------------------------------------------------------------------------*/

ColorGC ColorGC_CreateFromCharacters(ColorGCDatabase database, char * name);

/*---------------------------------------------------------------------------*/
/* XColor 構造体の取得                                                       */
/*---------------------------------------------------------------------------*/

XColor ColorGC_GetColor(ColorGC color_gc);

/*---------------------------------------------------------------------------*/
/* ピクセル値の取得                                                          */
/*---------------------------------------------------------------------------*/

unsigned long ColorGC_GetPixel(ColorGC color_gc);

/*---------------------------------------------------------------------------*/
/* GC の取得                                                                 */
/*---------------------------------------------------------------------------*/

GC ColorGC_GetGC(ColorGC color_gc);

/*---------------------------------------------------------------------------*/
/* 色の明るさの取得                                                          */
/*---------------------------------------------------------------------------*/

int GetBrightness(XColor color);

/*===========================================================================*/
/* GC のリストの作成                                                         */
/*===========================================================================*/

/*---------------------------------------------------------------------------*/
/* GC のリストの作成                                                         */
/* データ文字列から ColorGC のリストを作成し,返す.                         */
/* データ文字列のフォーマットは以下のとおり.                                */
/* "[スタートカラー1] [エンドカラー1] [長さ1] [スタートカラー2] ...\0"       */
/* 例) "red green 10 green blue 20 blue none 10\0"                           */
/*---------------------------------------------------------------------------*/

ObjList CreateColorGCListFromCharacters(ColorGCDatabase database,
					char * data,
					int after_image_length,
					int fine,
					int color_length_mag);

/*===========================================================================*/
/* GC のデータベース                                                         */
/*===========================================================================*/

ColorGCDatabase ColorGCDatabase_Create(Disp disp,
				       int studying_flag,
				       int cache_flag,
				       int cache_size,
				       int hash_number,
				       char * background,
				       int gradation);
ColorGCDatabase ColorGCDatabase_Destroy(ColorGCDatabase database);
ColorGC ColorGCDatabase_GetBackgroundColorGC(ColorGCDatabase database);

/*---------------------------------------------------------------------------*/
/* チューニング用                                                            */
/*---------------------------------------------------------------------------*/

void ColorGCDatabase_OutputHashStatus(ColorGCDatabase database);

#endif

/*****************************************************************************/
/* End of File                                                               */
/*****************************************************************************/