// Copyright (c) 2014 Alex Diener. All rights reserved. #ifndef __LevelEditorInspectorView_H__ #define __LevelEditorInspectorView_H__ #ifdef __cplusplus extern "C" { #endif typedef struct LevelEditorInspectorView LevelEditorInspectorView; #include "glbitmapfont/GLBitmapFont.h" #include "stemobject/StemObject.h" #include "watertowerclassic/LevelEditorScreen.h" #include "watertowerclassic/SharedEvents.h" #define LEVEL_EDITOR_INSPECTOR_MAX_HEIGHT 88 #define LevelEditorInspectorView_structContents(self_type) \ StemObject_structContents(self_type) \ \ LevelEditorScreen * levelEditorScreen; \ ResourceManager * resourceManager; \ GLBitmapFont * bitmapFont; \ GLuint vertexBufferID; \ GLuint indexBufferID; \ bool draggingFamilyID; \ bool draggingInitialDelay; \ bool draggingOnPeriod; \ bool draggingOffPeriod; \ bool draggingSpeed; \ unsigned int switchIDIndex; \ Vector2f rawDragOrigin; \ int offsetX; \ int offsetY; \ struct LevelBlock * block; stemobject_struct_definition(LevelEditorInspectorView) LevelEditorInspectorView * LevelEditorInspectorView_create(LevelEditorScreen * levelEditorScreen, ResourceManager * resourceManager, int offsetX, int offsetY); bool LevelEditorInspectorView_init(LevelEditorInspectorView * self, LevelEditorScreen * levelEditorScreen, ResourceManager * resourceManager, int offsetX, int offsetY); void LevelEditorInspectorView_dispose(LevelEditorInspectorView * self); bool LevelEditorInspectorView_mouseDown(LevelEditorInspectorView * self, struct mouseEvent * event); bool LevelEditorInspectorView_mouseUp(LevelEditorInspectorView * self, struct mouseEvent * event); bool LevelEditorInspectorView_mouseDragged(LevelEditorInspectorView * self, struct mouseEvent * event); void LevelEditorInspectorView_draw(LevelEditorInspectorView * self); #ifdef __cplusplus } #endif #endif