/* * File: editor.h * Author: camilstaps * * Created on August 18, 2015, 11:25 PM */ #ifndef EDITOR_H #define EDITOR_H #ifdef __cplusplus extern "C" { #endif typedef struct { unsigned char* start; unsigned char* end; } EditorArea; typedef struct { EditorArea front; EditorArea back; } Editor; Editor newEditor(unsigned int size); inline void freeEditor(Editor editor); inline unsigned int getFreeSpace(Editor editor); inline unsigned isFull(Editor editor); unsigned char* getNearCursor(Editor editor, signed int start, signed int end); void moveCursor(Editor editor, signed int change); inline void writeAtCursor(Editor editor, unsigned char character); void writeStringAtCursor(Editor editor, unsigned char* string); inline void writeAfterCursor(Editor editor, unsigned char character); void writeStringAfterCursor(Editor editor, unsigned char* string); inline void deleteAtCursor(Editor editor); inline void deleteNAtCursor(Editor editor, unsigned int length); inline void deleteAfterCursor(Editor editor); inline void deleteNAfterCursor(Editor editor, unsigned int length); #ifdef __cplusplus } #endif #endif /* EDITOR_H */