forked from Mirrors/openclonk
117 lines
3.2 KiB
C
117 lines
3.2 KiB
C
/*
|
|
* mape - C4 Landscape.txt editor
|
|
*
|
|
* Copyright (c) 2005-2009 Armin Burgmeier
|
|
*
|
|
* Portions might be copyrighted by other authors who have contributed
|
|
* to OpenClonk.
|
|
*
|
|
* Permission to use, copy, modify, and/or distribute this software for any
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
* copyright notice and this permission notice appear in all copies.
|
|
* See isc_license.txt for full license and disclaimer.
|
|
*
|
|
* "Clonk" is a registered trademark of Matthes Bender.
|
|
* See clonk_trademark_license.txt for full license.
|
|
*/
|
|
|
|
#ifndef INC_MAPE_MATERIAL_MAP_H
|
|
#define INC_MAPE_MATERIAL_MAP_H
|
|
|
|
#include <glib-object.h>
|
|
|
|
#include "mape/group.h"
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
#define MAPE_TYPE_MATERIAL_MAP (mape_material_map_get_type())
|
|
#define MAPE_MATERIAL_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), MAPE_TYPE_MATERIAL_MAP, MapeMaterialMap))
|
|
#define MAPE_MATERIAL_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), MAPE_TYPE_MATERIAL_MAP, MapeMaterialMapClass))
|
|
#define MAPE_IS_MATERIAL_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), MAPE_TYPE_MATERIAL_MAP))
|
|
#define MAPE_IS_MATERIAL_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), MAPE_TYPE_MATERIAL_MAP))
|
|
#define MAPE_MATERIAL_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), MAPE_TYPE_MATERIAL_MAP, MapeMaterialMapClass))
|
|
|
|
#define MAPE_TYPE_MATERIAL (mape_material_get_type())
|
|
|
|
typedef struct _MapeMaterial MapeMaterial;
|
|
|
|
typedef struct _MapeMaterialMap MapeMaterialMap;
|
|
typedef struct _MapeMaterialMapClass MapeMaterialMapClass;
|
|
|
|
/**
|
|
* MapeMaterialMapError:
|
|
* @MAPE_MATERIAL_MAP_ERROR_LOAD: An error occured when loading a material map.
|
|
*
|
|
* These errors are from the MAPE_MATERIAL_MAP_ERROR error domain. They can
|
|
* occur when operating on material maps.
|
|
*/
|
|
typedef enum _MapeMaterialMapError {
|
|
MAPE_MATERIAL_MAP_ERROR_LOAD
|
|
} MapeMaterialMapError;
|
|
|
|
/**
|
|
* MapeMaterialMapClass:
|
|
*
|
|
* This structure does not contain any public fields.
|
|
*/
|
|
struct _MapeMaterialMapClass {
|
|
/*< private >*/
|
|
GObjectClass parent_class;
|
|
};
|
|
|
|
/**
|
|
* MapeMaterialMap:
|
|
*
|
|
* #MapeMaterialMap is an opaque data type. You should only access it via the
|
|
* public API functions.
|
|
*/
|
|
struct _MapeMaterialMap {
|
|
/*< private >*/
|
|
GObject parent;
|
|
};
|
|
|
|
GType
|
|
mape_material_get_type(void) G_GNUC_CONST;
|
|
|
|
GType
|
|
mape_material_map_get_type(void) G_GNUC_CONST;
|
|
|
|
MapeMaterialMap*
|
|
mape_material_map_new(void);
|
|
|
|
gboolean
|
|
mape_material_map_load(MapeMaterialMap* map,
|
|
MapeGroup* from,
|
|
GError** error);
|
|
|
|
guint
|
|
mape_material_map_get_material_count(MapeMaterialMap* map);
|
|
|
|
MapeMaterial*
|
|
mape_material_map_get_material(MapeMaterialMap* map,
|
|
guint index);
|
|
|
|
#if 0
|
|
MapeMaterial*
|
|
mape_material_map_get_material_by_name(MapeMaterialMap* map,
|
|
const gchar* name);
|
|
#endif
|
|
|
|
MapeMaterial*
|
|
mape_material_copy(const MapeMaterial* material);
|
|
|
|
void
|
|
mape_material_free(MapeMaterial* material);
|
|
|
|
const gchar*
|
|
mape_material_get_name(const MapeMaterial* material);
|
|
|
|
const gchar*
|
|
mape_material_get_texture_overlay(const MapeMaterial* material);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* INC_MAPE_MATERIAL_MAP_H */
|
|
|
|
/* vim:set et sw=2 ts=2: */
|