1 /* babl - dynamically extendable universal pixel conversion library.
2  * Copyright (C) 2005-2008, Øyvind Kolås and others.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 3 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General
15  * Public License along with this library; if not, see
16  * <https://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef _BABL_MODEL_H
20 #define _BABL_MODEL_H
21 
22 BABL_CLASS_DECLARE (model);
23 
24 typedef struct
25 {
26   BablInstance      instance;
27   BablList         *from_list;
28   int               components;
29   BablComponent   **component;
30   BablType        **type; /*< must be doubles,
31                               used here for convenience in code */
32   void             *data;    /* user-data, used for palette */
33   const Babl       *space;
34   void             *model;   /* back pointer to model with sRGB space */
35   BablModelFlag     flags;
36 } BablModel;
37 
38 #endif
39