83 lines
1.6 KiB
C
83 lines
1.6 KiB
C
/*##############################################################################
|
|
* project: nomi
|
|
* file: nomi.h
|
|
*
|
|
* This file handles all of the nomi spesific action like creating and handling
|
|
* Trunks and branches. As well as the data nessary for that it to run properly.
|
|
*
|
|
* Auther: PreacherDHM
|
|
* Date: 10/30/2025
|
|
*##############################################################################
|
|
*/
|
|
|
|
|
|
#ifndef NOMI_H
|
|
#define NOMI_H
|
|
|
|
#include "tart.h"
|
|
#define BRNACH 0x01
|
|
#define TRUNK 0x00
|
|
#define MAX_CHILDREN 5
|
|
#define MAX_BRANCHES 30
|
|
|
|
#include <stdio.h>
|
|
|
|
typedef unsigned int branchId;
|
|
|
|
// All of the different notes
|
|
typedef struct {
|
|
char* text; // This is the data that is in that branch
|
|
branchId children[MAX_CHILDREN]; // holds the branchIds of its children
|
|
void* parent; // points the the branches parent
|
|
char type; // holds the type as in if this struct is a branch or a trunk
|
|
branchId id; // This holds the branch id.
|
|
} branch;
|
|
|
|
// The Root of the tree structure
|
|
typedef struct {
|
|
branch branches[MAX_BRANCHES];
|
|
const char* title;
|
|
char* text;
|
|
} trunk;
|
|
|
|
/*
|
|
* This will Init Nomi
|
|
*/
|
|
void NomiInit();
|
|
/*
|
|
* This will create the truk of the note.
|
|
* */
|
|
trunk* CreateTrunk();
|
|
|
|
/*
|
|
* This is a test
|
|
* */
|
|
void CreaetBranch(trunk* trunk);
|
|
|
|
/*
|
|
* Locate Branch
|
|
* */
|
|
branch* LocateBranch();
|
|
|
|
/*
|
|
* Draw Branch
|
|
*/
|
|
void DrawBranch(branch* branch, struct tart_window* w, tart_byte b);
|
|
|
|
/*
|
|
* Create Nomi File
|
|
*
|
|
* name: the name of the file that will be created.
|
|
*/
|
|
FILE CreateNomiFile(const char* name);
|
|
|
|
/*
|
|
* Save Nomi File
|
|
*
|
|
* file: the pointer to the nomi file.
|
|
*/
|
|
void SaveNomiFile(FILE* file);
|
|
|
|
|
|
#endif // NOMI_H
|