qmlfrontend/engine_interface.h
author unc0rr
Sun, 18 Nov 2018 20:18:32 +0100
changeset 14249 b01770d42517
parent 14175 8354b390f1a2
child 14292 1aac8a62be6f
permissions -rw-r--r--
Special case for rendering type of two-dimensional arrays, since C is inconsistent in its syntax

#ifndef ENGINE_H
#define ENGINE_H

#include <stdint.h>

#ifdef __cplusplus
namespace Engine {
extern "C" {
#endif

typedef struct _EngineInstance EngineInstance;

typedef struct {
  uint32_t width;
  uint32_t height;
  uint8_t hedgehogs_number;
  unsigned char* land;
} PreviewInfo;

typedef uint32_t protocol_version_t();
typedef EngineInstance* start_engine_t();
typedef void generate_preview_t(EngineInstance* engine_state,
                                PreviewInfo* preview);
typedef void cleanup_t(EngineInstance* engine_state);

extern protocol_version_t* protocol_version;
extern start_engine_t* start_engine;
extern generate_preview_t* generate_preview;
extern cleanup_t* cleanup;

#ifdef __cplusplus
}
};
#endif

#endif  // ENGINE_H