*/}}
Browse Source

Clean-ups.

YimingWu 11 months ago
parent
commit
7a7c8691c1
6 changed files with 2 additions and 569 deletions
  1. 0 30
      la_data.h
  2. 0 60
      la_interface.h
  3. 0 76
      la_kernel.c
  4. 2 237
      la_tns.h
  5. 0 93
      la_tns_curve.c
  6. 0 73
      la_tns_kernel.c

+ 0 - 30
la_data.h

@@ -404,16 +404,6 @@ STRUCTURE(laPropIterator){
     void *Handle;
 };
 
-//STRUCTURE(laPropGroup) {
-//	laListItem Item;
-//	const char * Identifier;
-//	const char * Name;
-//	const char * Description;
-//	//const char * Prefix;
-//	//const char * Unit;
-//
-//	laListHandle Properties;
-//};
 
 STRUCTURE(laResourceFolder){
     laListItem Item;
@@ -429,21 +419,6 @@ STRUCTURE(laUDFPostRead){
     void *Instance;
     laContainerPostReadFunc Func;
 };
-//STRUCTURE(laUDFPointerSync) {
-//	laListItem    Item;
-//	void*        ReadPointer;
-//	void*        ActualPointer;
-//	char *        NUID;
-//};
-//STRUCTURE(laUDFPointerRecord) {
-//	laListItem    Item;
-//	void*        UseInstance;
-//	laSubProp*    SubProp;
-//	void**       PendingReference;
-//	void*        ReadInstance;
-//	char *        NUID;
-//};
-
 
 STRUCTURE(laPtrSync){
     laListItem Item; //hash
@@ -723,11 +698,6 @@ STRUCTURE(laActionKey){
 #define LA_ACTION_FRAME(aa)\
     (aa->PlayHead*(real)aa->FrameCount)
 
-    //STRUCTURE(laUDFFailNode) {
-    //	laListItemPointer Item;
-    //	laPropContainer*  pc;
-    //};
-
 /* Only little endian are supported right now */
 #define LA_UDF_IDENTIFIER "UDF_LE"
 

+ 0 - 60
la_interface.h

@@ -163,7 +163,6 @@
 #define LA_ONLY_BITS_AND(orig, yours) \
     ((orig & yours) == yours)
 
-NEED_STRUCTURE(laTunnel);
 NEED_STRUCTURE(laUiList);
 NEED_STRUCTURE(laUiItem);
 NEED_STRUCTURE(laColumn);
@@ -201,8 +200,6 @@ STRUCTURE(laEvent){
     real Pressure,Orientation,Deviation;
 
     void *Localized;
-
-    //void* BoardcastedData;
 };
 
 NEED_STRUCTURE(laWindow)
@@ -865,12 +862,6 @@ STRUCTURE(laCanvasTemplate){
     laUiDestroyFunc  Destroy;
 };
 
-#define LA_EDIT_ORIGIN_CENTER 0
-#define LA_EDIT_ORIGIN_INDIVIDUAL 1
-#define LA_EDIT_ORIGIN_CURSOR 2
-
-#define LA_LINE_WIDTH_WARNING_TOO_WIDE 1
-#define LA_LINE_WIDTH_WARNING_TOO_THIN 2
 
 #define LA_CANVAS_CURSOR_CROSS 1
 #define LA_CANVAS_CURSOR_BOX   2
@@ -1360,7 +1351,6 @@ void la_RegisterInputMapperOperators();
 #define LA_DAG_FLAG_TEMP 1
 #define LA_DAG_FLAG_PERM 2
 
-
 int laRebuildPageEval(laRackPage* rp);
 int laRunPage(laRackPage* rp, uint64_t mask);
 
@@ -1899,8 +1889,6 @@ laPanel *laDefineAndEnableMenuPanel(laPanel *Attachment, laOperator *a, laPropPa
 laPanel *laEnableOperatorPanel(laOperator *For, laPropPack *This, int X, int Y, int W, int H, int MaxW, int MaxH, int MinW, int MinH, int SnapL, int SnapR, int SnapT, int SnapB, laEvent *e);
 laPanel *laEnableYesNoPanel(laOperator *a, laPanel *Attachment, char *Title, char *Message, int X, int Y, int W, laEvent *e);
 laPanel *laEnableMessagePanel(laOperator *a, laPanel *Attachment, char *Title, char *Message, int X, int Y, int W, laEvent *e);
-laPanel *laEnableMultiMessagePanel(laOperator *a, laPanel *Attachment, char *Title, laPanelMessageList *pml, int X, int Y, int W, laEvent *e);
-void laAddPanelMessage(laPanelMessageList *pml, char *Message);
 
 void la_PropPanelUserRemover(void* This, laItemUserLinker* iul);
 
@@ -2017,11 +2005,6 @@ void la_DestroyCanvasTemplate(laCanvasTemplate* uit);
 laUiTemplate *laRegisterUiTemplate(char *Identifier, char* Title, laUiDefineFunc func,laPanelDetachedPropFunc PropFunc, laUiDefineFunc header, char* NewCategory, int DefaultGLFormat, int DefaultW_RH, int DefaultH_RH);
 laCanvasTemplate *laRegisterCanvasTemplate(char *Identifier, char *ForContainer, laModalFunc ExtraModal, laCanvasDrawFunc Func, laUiDrawFunc SecondDraw, laUiInitFunc CustomInit, laUiDestroyFunc CustomDestroy);
 
-void laGet2DViewRange(laCanvasExtra *e, int *L, int *R, int *U, int *B);
-void laGet2DViewRanged(laCanvasExtra *e, real *L, real *R, real *U, real *B);
-void laGet2DViewRangeW(laCanvasExtra *e, int *L, int *R);
-void laGet2DViewRangeWd(laCanvasExtra *e, real *L, real *R);
-
 void la_DestroyTheme(laTheme* t);
 laTheme *laDesignTheme(const char *Name, const char *AuthorName);
 laBoxedTheme *laDesignBoxedTheme(laTheme *t, const char *Name, laBoxedTheme** BackRef,
@@ -2090,10 +2073,8 @@ void laRetriggerOperators();
 
 int la_GenericTopPanelProcessing(laOperator* a, laEvent* e);
 
-
 int OPMOD_FinishOnData(laOperator* a, laEvent* e);
 
-
 void laHideCursor();
 void laShowCursor();
 
@@ -2214,47 +2195,6 @@ extern laPropContainer *_LA_PROP_FILE_BROWSER;
 extern laProp _P_LA_USE_INSTANCE_ONLY;
 #define _LA_USE_INSTANCE_ONLY (&_P_LA_USE_INSTANCE_ONLY)
 
-#define LA_CARE_ALL64 (~(0ull))
-#define LA_CARE_ALL32 (~(0ull))
-
-#define LA_MATCH_INSTANCE (1ull << 63)
-
-#define LA_IN_USER_PREF (1ull << 62)
-#define LA_IN_LIVE_EDIT (1ull << 61)
-#define LA_IN_PANEL (1ull << 60)
-#define LA_IN_WINDOW (1ull << 59)
-#define LA_IN_LAYOUT (1ull << 58)
-
-#define LA_USER_THEME (1ull << 63)
-#define LA_USER_THEME_SIZE (1ull << 62)
-#define LA_USER_THEME_COLOR (1ull << 61)
-#define LA_USER_DISPLAY (1ull << 60)
-
-#define LA_LIVE_PATH (1ull << 63)
-#define LA_LIVE_TYPE (1ull << 62)
-#define LA_LIVE_THEME (1ull << 61)
-#define LA_LIVE_EXTRA (1ull << 60)
-
-#define LA_WINDOW_INFO (1ull << 63)
-
-#define LA_LAYOUT_INFO (1ull << 63)
-
-#define LA_UI_INTERNAL_BUTTON 1
-#define LA_UI_INTERNAL_WATCHER 2
-#define LA_UI_INTERNAL_GROUP 3
-#define LA_UI_INTERNAL_TAB 4
-#define LA_UI_INTERNAL_LABEL 5
-#define LA_UI_INTERNAL_3D_VIEW 6
-#define LA_UI_INTERNAL_2D_VIEW 7
-#define LA_UI_INTERNAL_ADJUSTER 8
-#define LA_UI_INTERNAL_BRACKET_BEGIN 9
-#define LA_UI_INTERNAL_BRACKET_ELSE 10
-#define LA_UI_INTERNAL_FOLDER_BEGIN 11
-#define LA_UI_INTERNAL_BRACKET_END 12
-#define LA_UI_INTERNAL_ALIGNER 13
-#define LA_UI_INTERNAL_MENU 14
-#define LA_UI_INTERNAL_SYMBOL 15
-
 #define LA_RH0 (MAIN.UiRowHeight)
 #define LA_RH (MAIN.ScaledUiRowHeight)
 #define LA_2RH (MAIN.ScaledUiRowHeight*2)

+ 0 - 76
la_kernel.c

@@ -3147,50 +3147,6 @@ laPanel *laEnableMessagePanel(laOperator *a, laPanel *Attachment, char *Title, c
 
     return p;
 }
-laPanel *laEnableMultiMessagePanel(laOperator *a, laPanel *Attachment, char *Title, laPanelMessageList *pml, int X, int Y, int W, laEvent *e){
-    laPanel *p;
-    int b;
-    laUiList *uil;
-    laColumn *col, *cor, *corl, *corr;
-    laPanelMessage *pm;
-
-    p = la_NewPanel(0, X, Y, W, 0, 1000, 1000, 100, 0, 0, 0, 0, 0);
-    strSafeSet(&p->Title, Title);
-    p->BoundUi = 1;
-    p->Mode = LA_PANEL_FLOATING_TOP;
-    p->BT = &_LA_THEME_FLOATING_PANEL;
-    MAIN.ToPanel = p;
-
-    laui_DefaultOperatorPanelTitleBar(&p->TitleBar, &p->PP, &p->PropLinkPP, 0, 0);
-
-    uil = laPrepareUi(p);
-    col = laFirstColumn(uil);
-    laSplitColumn(uil, col, 0.35);
-    cor = laRightColumn(col, 200);
-
-    while (pm = lstPopItem(pml)){
-        laShowLabel(uil, col, pm->Message->Ptr, 0, 0);
-        strSafeDestroy(&pm->Message);
-        FreeMem(pm);
-    }
-
-    laShowItemFull(uil, cor, 0, "LA_confirm",0,"text=Okay;",0,0)->Flags|=LA_UI_FLAGS_HIGHLIGHT;
-
-    laShowPanelWithExpandEffect(p);
-
-    lstPushItem(&MAIN.CurrentWindow->Panels, p);
-    laSetOperatorLocalizer(p);
-    laInvokeUi(a, "LA_modal_panel_operator", e, p, 0, 1);
-
-    return p;
-}
-
-void laAddPanelMessage(laPanelMessageList *pml, char *Message){
-    if (!Message || !Message[0]) return;
-    laPanelMessage *pm = CreateNew(laPanelMessage);
-    strSafeSet(&pm->Message, Message);
-    lstAppendItem(&pml->Msg, pm);
-}
 
 void laRedrawAllWindows(){ if((!MAIN.CurrentWindow) || (!MAIN.CurrentWindow->win)) return;
     laWindow* cur=MAIN.CurrentWindow;
@@ -4429,38 +4385,6 @@ void laFixHeight(laUiList *uil, short Rows){
     uil->HeightCoeff = Rows;
 }
 
-int la_GetUiType(laUiItem* ui) {
-	if (ui->AT) return LA_UI_INTERNAL_BUTTON;
-
-	if (ui->PP.LastPs) {
-		if (ui->Type == _LA_UI_CANVAS) return LA_UI_INTERNAL_2D_VIEW;
-		return LA_UI_INTERNAL_WATCHER;
-	}
-	if (ui->Display) {
-		if (ui->Type == _LA_UI_MENU_ROOT) return LA_UI_INTERNAL_MENU;
-		return LA_UI_INTERNAL_LABEL;
-	}
-
-	if (ui->Subs.pFirst) {
-		if (ui->Type == _LA_UI_FIXED_GROUP)return LA_UI_INTERNAL_GROUP;
-		if (ui->Type == _LA_UI_TAB)return LA_UI_INTERNAL_TAB;
-		return LA_UI_INTERNAL_GROUP;
-	}
-
-	if (ui->Type == _LA_UI_BUTTON) return LA_UI_INTERNAL_BUTTON;
-	
-	if (ui->Type == &_LA_UI_CONDITION) return LA_UI_INTERNAL_BRACKET_BEGIN;
-	if (ui->Type == &_LA_UI_CONDITION_ELSE) return LA_UI_INTERNAL_BRACKET_ELSE;
-	if (ui->Type == &_LA_UI_CONDITION_END) return LA_UI_INTERNAL_BRACKET_END;
-	if (ui->Type == _LA_UI_CONDITION_TOGGLE) return LA_UI_INTERNAL_FOLDER_BEGIN;
-
-	if (ui->Type == _LA_UI_ALIGN) return LA_UI_INTERNAL_ALIGNER;
-	if (ui->Type == _LA_UI_COLUMN_ADJUSTER) return LA_UI_INTERNAL_ADJUSTER;
-	if (ui->Type == _LA_UI_SYMBOL) return LA_UI_INTERNAL_SYMBOL;
-
-	return LA_UI_INTERNAL_WATCHER;
-}
-
 void laMakeUiListFromTemplate(laUiList *Into, laUiDefineFunc Template,
                                laPropPack *PanelPP, laPropPack *PanelExtraPP, laPropPack *Base, laPropPack *Operator, laListHandle *ExtraColumns, int Context){
     if (!ExtraColumns) return;

+ 2 - 237
la_tns.h

@@ -167,22 +167,6 @@ NEED_STRUCTURE(tnsLoopItem);
 NEED_STRUCTURE(tnsRenderLine);
 NEED_STRUCTURE(tnsRenderBuffer);
 
-STRUCTURE(tnsFilterKernel){
-    int Size;
-    real *Kernel;
-};
-
-STRUCTURE(tnsTriangulateNode){
-    char Picked;
-    real Angle; //rad
-    tnsLoopItem *LoopItem;
-    tnsRenderLine *FowardRL;
-    tnsRenderLine *BackwardRL;
-};
-STRUCTURE(tnsTriangulateEdgeNode){
-    tnsRenderLine *RL;
-};
-
 STRUCTURE(tnsImage){
     laListItem Item;
     void* MemPNG;
@@ -237,8 +221,6 @@ struct _tnsMain {
     laListHandle Textures;
     tnsTexture *PreviewTexture;
 
-    tnsFilterKernel EdgeGaussFilter;
-
     GLenum GlTextureSets;
 
     // Corresponds to current GL_TEXTURE0/1...
@@ -289,41 +271,6 @@ struct _tnsMain {
     laListHandle Images;
 };
 
-typedef struct _tnsLineStripPoint tnsLineStripPoint;
-struct _tnsLineStripPoint
-{
-    laListItem Item;
-    tnsVector3d P;
-};
-
-typedef struct _tnsLineStrip tnsLineStrip;
-struct _tnsLineStrip
-{
-    laListItem Item;
-    laListHandle Points;
-    int PointCount;
-};
-
-#define TNS_SNAKE_STRENGTH_LIMIT 30
-#define TNS_SNAKE_STEP_LENGTH 5
-#define TNS_SNAKE_STRENGTH_MARCHING_LIMIT 30
-
-#define TNS_SNAKE_EDGE_WIDTH 2
-#define TNS_SNAKE_FILTER_SIZE 6
-#define TNS_SNAKE_ANGLE_DEVIATE 0.5
-#define TNS_SNAKE_ANGLE_PRICISION 1
-#define TNS_SNAKE_STEP1 3
-#define TNS_SNAKE_STEP2 5
-
-typedef struct _tnsTextureSample tnsTextureSample;
-struct _tnsTextureSample
-{
-    laListItem Item;
-    u8bit Sample;
-    int X, Y;
-    real Z;
-};
-
 typedef struct _tnsTexture tnsTexture;
 struct _tnsTexture
 {
@@ -451,88 +398,8 @@ struct _tnsFontBoundBox
     int x, y, w, h; /* Upper Left and width,height */
 };
 
-#define TNS_FONT_BUFFER_W 2048
-#define TNS_FONT_BUFFER_H 2048
-
-#define TNS_FONT_ALIGN_LEFT 1
-#define TNS_FONT_ALIGN_CENTER 2
-#define TNS_FONT_ALIGN_RIGHT 4
-#define TNS_FONT_ALIGN_LEFT_PROTECT 8
-#define TNS_FONT_ALIGN_CENTER_FIRST (2 | 8)
-
-#define CSS_FLOW_DIRECTION_LR 1
-#define CSS_FLOW_DIRECTION_TD 0
-
-//typedef struct _tnsCssBorder tnsCssBorder;
-//struct _tnsCssBorder{
-//	real Px;//thickness
-//	real Color[4];//rgba
-//	int   Style;//Like________ or ....... or __.__.__. or ======== or ~~~~~~~
-//	int   Padding;
-//	int   Margin;
-//};
-//
-//typedef struct _tnsCssBackground tnsCssBackground;
-//struct _tnsCssBackground{
-//	real Color[4];
-//	int   ImageID;//LA SPECIFIC
-//	int   Repeat;
-//	int   PositionFixed;
-//	real PositionRatio;
-//};
-//
-//typedef struct _tnsCssText tnsCssText;
-//struct _tnsCssText{
-//	real Color[4];
-//	int LineSpacing;
-//	int LetterSpacing;
-//	int Align;//0-LR 1-C 2-L 3-R all support number-ready display
-//	int Decoration;
-//	int Underline;
-//	int Shadow;
-//};
-//
-//typedef struct _tnsCssMisc tnsCssMisc;
-//struct _tnsCssMisc{
-//	real       Color[4];
-//	int         Size;
-//	const char * Name;
-//	const char * Description;
-//};
-//
-//typedef struct _tnsCssState tnsCssState;
-//struct _tnsCssState{
-//	char             NameReplace[36];
-//	tnsCssBackground Bkg;
-//	tnsCssBorder	 BorderLeft;
-//	tnsCssBorder	 BorderRight;
-//	tnsCssBorder	 BorderTop;
-//	tnsCssBorder	 BorderBottom;
-//	tnsCssText       Text;
-//	tnsCssMisc       Misc1;
-//	tnsCssMisc       Misc2;
-//	tnsCssMisc       Misc3;
-//	tnsCssMisc       Misc4;
-//};
-
-#define TNS_STATE_NORMAL 0
-#define TNS_STATE_PUSHED 1
-#define TNS_STATE_HIGHLIGHT 2
-#define TNS_STATE_HIGHLIGHT_SELECT 3
-#define TNS_STATE_KEYING 4
-#define TNS_STATE_INTERPOLATING 5
-#define TNS_STATE_LIMITED 6
-//
-//typedef struct _tnsCssStyle tnsCssStyle;
-//struct _tnsCssStyle{
-//	tnsCssState Normal;
-//	tnsCssState Pushed;
-//	tnsCssState Highlight;
-//	tnsCssState HighlightSelect;
-//	tnsCssState Keying;
-//	tnsCssState Interpolating;
-//	tnsCssState Limited;
-//};
+#define TNS_FONT_BUFFER_W 512
+#define TNS_FONT_BUFFER_H 512
 
 //=====================================================[3d comp]
 
@@ -553,15 +420,6 @@ typedef struct _tnsObject tnsObject;
 #define TNS_OBJECT_LIGHT  (1<<2)
 #define TNS_OBJECT_MESH   (1<<3)
 
-//typedef struct _tnsObjectLinker tnsObjectLinker;
-//struct _tnsObjectLinker {
-//	laListItem    Item;
-//	tnsObject* o;
-//};
-
-NEED_STRUCTURE(tnsRenderTriangle);
-NEED_STRUCTURE(tnsRenderVert);
-
 #define TNS_OBJECT_FLAGS_SELECTED 1
 
 NEED_STRUCTURE(tnsBatch)
@@ -911,51 +769,6 @@ STRUCTURE(tnsEdgeHash){
 #define TNS_IN_TILE(RenderTile, Fx, Fy) \
     (TNS_IN_TILE_X(RenderTile, Fx) && TNS_IN_TILE_Y(RenderTile, Fy))
 
-#define TNS_RENDERBUFFER_INCOMPLETE 0
-#define TNS_RENDERBUFFER_GEOMETRY_COMPLETE 1
-#define TNS_RENDERBUFFER_RASTERIZER_COMPLETE 2
-#define TNS_RENDERBUFFER_COMPLETE (TNS_RENDERBUFFER_GEOMETRY_COMPLETE | TNS_RENDERBUFFER_RASTERIZER_COMPLETE)
-
-#define TNS_DISPLAY_MODE_WIRE GL_LINE_LOOP
-#define TNS_DISPLAY_MODE_SOLID GL_TRIANGLES
-#define TNS_INTERNAL_MODE_WIRE 1
-#define TNS_INTERNAL_MODE_SOLID 2
-
-#define TNS_ARROW_L 1
-#define TNS_ARROW_R 2
-#define TNS_ARROW_U 3
-#define TNS_ARROW_D 4
-
-#define TNS_KEYWORD_OBJECT_COUNT 1
-#define TNS_KEYWORD_OBJECT_NAME 2
-#define TNS_KEYWORD_OBJECT_TYPE 3
-#define TNS_KEYWORD_OBJECT_LOCATION 4
-#define TNS_KEYWORD_OBJECT_ROTATION 5
-#define TNS_KEYWORD_OBJECT_SCALE 6
-#define TNS_KEYWORD_OBJECT_CHILDREN_COUNT 7
-#define TNS_KEYWORD_OBJECT_CHILDREN_NAMES 8
-//#define TNS_KEYWORD_MESH_COUNT            9
-//#define TNS_KEYWORD_MESH_NAME             10
-#define TNS_KEYWORD_MESH_VERTEX_COUNT 11
-#define TNS_KEYWORD_MESH_VERTICES 12
-#define TNS_KEYWORD_MESH_LOOP_COUNT 13
-#define TNS_KEYWORD_MESH_TOPOLOGY 14
-#define TNS_KEYWORD_MESH_UV_COUNT 15
-#define TNS_KEYWORD_MESH_UV_NAME 16
-#define TNS_KEYWORD_MATERIAL_COUNT 17
-#define TNS_KEYWORD_MATERIAL_NAME 18
-#define TNS_KEYWORD_MATERIAL_COLOR 19
-#define TNS_KEYWORD_MATERIAL_END 20
-
-#define TNS_KEYWORD_CAMERA_FOV 20
-#define TNS_KEYWORD_CAMERA_IS_ACTIVE 21
-#define TNS_KEYWORD_CAMERA_NEAR 22
-#define TNS_KEYWORD_CAMERA_FAR 23
-
-#define TNS_KEYWORD_GROUP_COUNT 24
-#define TNS_KEYWORD_GROUP_NAME 25
-#define TNS_KEYWORD_OBJECT_GROUP_COUNT 26
-
 void tnsSetuptnsFontManager();
 
 tnsShader *tnsNewShaderProgram(int VertexShaderID, int FragmentShaderID, int GeometryShaderID);
@@ -1072,7 +885,6 @@ void tnsVectorMulti3d(tnsVector3d to, tnsVector3d from, real num);
 void tnsVectorMulti2d(tnsVector2d to, tnsVector2d from, real num);
 real tnsDirectionToRad(tnsVector2d Dir);
 void tnsConvert44df(tnsMatrix44d from, tnsMatrix44f to);
-int tnsTrangleLineBoundBoxTest(tnsRenderTriangle *rt, tnsRenderLine *rl);
 
 #define tnsVectorSet2(to, x,y) \
     {(to)[0]=x;(to)[1]=y;}
@@ -1355,37 +1167,6 @@ void tnsDraw2DTextureArg(tnsTexture *t,
                          real LPadding, real RPadding, real TPadding, real BPadding);
 
 int tnsTextureMemorySize(tnsTexture *t, int mem);
-void tnsCreateTextureReadbackBuffer(tnsTexture *t);
-void tnsDeleteTextureReadbackBuffer(tnsTexture *t);
-void tnsReadbackTexture(tnsTexture *t);
-
-#define TNS_CLAMP_TEXTURE_W(t, Col) \
-    {                               \
-        if (Col >= t->Width)        \
-            Col = t->Width - 1;     \
-        if (Col < 0)                \
-            Col = 0;                \
-    }
-
-#define TNS_CLAMP_TEXTURE_H(t, Row) \
-    {                               \
-        if (Row >= t->Height)       \
-            Row = t->Height - 1;    \
-        if (Row < 0)                \
-            Row = 0;                \
-    }
-
-#define TNS_CLAMP_TEXTURE_CONTINUE(t, Col, Row) \
-    {                                           \
-        if (Col >= t->Width)                    \
-            continue;                           \
-        if (Col < 0)                            \
-            continue;                           \
-        if (Row >= t->Height)                   \
-            continue;                           \
-        if (Row < 0)                            \
-            continue;                           \
-    }
 
 void tnsDelete2DOffscreen(tnsOffscreen *o);
 tnsOffscreen *tnsCreateOffscreenHandle();
@@ -1454,7 +1235,6 @@ void tnsMakeBridgedIndex(unsigned int *result, int num, int revert, int begin);
 void DrawWireRect2dp(real x, real y, real x2, real y2);
 void tnsViewportWithScissor(int x, int y, int w, int h);
 
-
 void tnssRGB2XYZ(tnsVector3d rgb,tnsVector3d xyz);
 void tnsClay2XYZ(tnsVector3d rgb,tnsVector3d xyz);
 void tnsXYZ2sRGB(tnsVector3d xyz,tnsVector3d rgb);
@@ -1473,18 +1253,3 @@ void tnsHCY2RGBLinear(real *hcy, real *rgb);
 void tnsRGB2HCYLinear(real *rgb, real *hcy);
 void tnsHCY2RGB(real *hcy, real *rgb);
 void tnsRGB2HCY(real *rgb, real *hcy);
-
-tnsLineStrip *tnsCreateLineStrip();
-tnsLineStripPoint *tnsAppendPoint(tnsLineStrip *ls, real X, real Y, real Z);
-tnsLineStripPoint *tnsPushPoint(tnsLineStrip *ls, real X, real Y, real Z);
-void tnsRemovePoint(tnsLineStrip *ls, tnsLineStripPoint *lsp);
-void tnsDestroyLineStrip(tnsLineStrip *ls);
-
-void tnsGetGaussianKernel(tnsFilterKernel *fk, int size, real sigma);
-
-void *tnsTextureSampleSafe(tnsTexture *t, int Col, int Row);
-int tnsTextureSampleWeightSafe(tnsTexture *t, int Col, int Row, real Size, tnsVector2d Direction);
-real tnsTextureSampleSafeGaussU8R(tnsTexture *t, tnsFilterKernel *fk, int Col, int Row);
-void tnsTextureSetBitSafeU8R(tnsTexture *t, int Col, int Row, int Bit);
-void tnsTextureSetRGBSafeU8R(tnsTexture *t, int Col, int Row, u8bit r, u8bit g, u8bit b);
-u8bit *tnsTextureSampleU8(tnsTexture *t, int Col, int Row);

+ 0 - 93
la_tns_curve.c

@@ -1,93 +0,0 @@
-/*
-* LaGUI: A graphical application framework.
-* Copyright (C) 2022-2023 Wu Yiming
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "la_5.h"
-
-#include "la_tns.h"
-
-#include "la_util.h"
-#include <math.h>
-
-extern tnsMain *T;
-
-//z3 = 1/( linearintp(1/z1),(1/z2),t )
-//L,R is GLocation
-void tnsInterpolatePerspective4dv(tnsVector4d LG, tnsVector4d RG, tnsVector4d L, tnsVector4d R, real T, tnsVector3d Result){
-    ////real t = (w - L[3]) / (R[3] - L[3]);
-    real z = 1 / tnsLinearItp(1 / L[2], 1 / R[2], T);
-
-    ////Result[2] = tnsLinearItp(L[2] / L[3], R[2] / R[3], t)*w;
-    ////Result[0] = tnsLinearItp(L[0] / L[3], R[0] / R[3], t)*w;
-    ////Result[1] = tnsLinearItp(L[1] / L[3], R[1] / R[3], t)*w;
-
-    Result[0] = tnsLinearItp(L[0] / L[2], R[0] / R[2], T) * z;
-    Result[1] = tnsLinearItp(L[1] / L[2], R[1] / R[2], T) * z;
-    Result[2] = z;
-
-    //real x1z1 = LG[0] / LG[2], x2z2 = RG[0] / RG[2];
-    //real x3 = tnsLinearItp(LG[0], RG[0], T);
-    //real z3 = tnsLinearItp(LG[2], RG[2], T);
-    //real t = (x3 / z3 - x1z1) / (x2z2 - x1z1);
-    //Result[0] = tnsLinearItp(L[0], R[0], t);
-    //Result[1] = tnsLinearItp(L[1], R[1], t);
-    //Result[2] = tnsLinearItp(L[2], R[2], t);
-}
-
-tnsLineStrip *tnsCreateLineStrip(){
-    tnsLineStrip *ls = CreateNew(tnsLineStrip);
-    return ls;
-}
-tnsLineStripPoint *tnsAppendPoint(tnsLineStrip *ls, real X, real Y, real Z){
-    tnsLineStripPoint *lsp = CreateNew(tnsLineStripPoint);
-
-    lsp->P[0] = X;
-    lsp->P[1] = Y;
-    lsp->P[2] = Z;
-
-    lstAppendItem(&ls->Points, lsp);
-
-    ls->PointCount++;
-
-    return lsp;
-}
-tnsLineStripPoint *tnsPushPoint(tnsLineStrip *ls, real X, real Y, real Z){
-    tnsLineStripPoint *lsp = CreateNew(tnsLineStripPoint);
-
-    lsp->P[0] = X;
-    lsp->P[1] = Y;
-    lsp->P[2] = Z;
-
-    lstPushItem(&ls->Points, lsp);
-
-    ls->PointCount++;
-
-    return lsp;
-}
-
-void tnsRemovePoint(tnsLineStrip *ls, tnsLineStripPoint *lsp){
-    lstRemoveItem(&ls->Points, lsp);
-    FreeMem(lsp);
-}
-
-void tnsDestroyLineStrip(tnsLineStrip *ls){
-    tnsLineStripPoint *lsp;
-    while (lsp = lstPopItem(&ls->Points)){
-        FreeMem(lsp);
-    }
-    FreeMem(ls);
-}

+ 0 - 73
la_tns_kernel.c

@@ -201,27 +201,6 @@ void DrawWireCross4drs(real x, real y, real w, real h){
 void DrawGrid6f(real L, real R, real U, real B, real stepX, real stepY){
     //do nothing;
 }
-void DrawSolidArrow1i3d(int direction, real xoff, real yoff, real size){
-    real size_2 = size / 2.0f;
-    real Verts[6];
-
-    switch (direction){
-    case TNS_ARROW_L:
-        tnsMakeTriangle(Verts,
-                        xoff + size_2, yoff,
-                        xoff, yoff - size_2,
-                        xoff + size_2, yoff - size);
-        break;
-    case TNS_ARROW_R:
-        tnsMakeTriangle(Verts,
-                        xoff, yoff,
-                        xoff + size_2, yoff - size_2,
-                        xoff, yoff - size);
-        break;
-    }
-
-    tnsPackAs(GL_TRIANGLES);
-}
 
 //=======================================[Shader]
 
@@ -1912,58 +1891,6 @@ int tnsTextureMemorySize(tnsTexture *t, int Mem){
     return t->Width * t->Height * ElemSize;
 }
 
-void tnsCreateTextureReadbackBuffer(tnsTexture *t){
-    if (t->SamplePtr){
-        tnsTextureSample *tns;
-        memset(t->SamplePtr, 0, tnsTextureMemorySize(t, 1));
-        while (tns = lstPopItem(&t->ErasedSamples))
-            FreeMem(tns);
-        while (tns = lstPopItem(&t->PendingSamples))
-            FreeMem(tns);
-    }else{
-        t->TextureReadBack = calloc(1, tnsTextureMemorySize(t, 0));
-        t->SamplePtr = calloc(1, tnsTextureMemorySize(t, 1));
-    }
-    t->RBWidth = t->Width;
-    t->RBHeight = t->Height;
-}
-void tnsDeleteTextureReadbackBuffer(tnsTexture *t){
-    FreeMem(t->TextureReadBack);
-    FreeMem(t->SamplePtr);
-    tnsTextureSample *tns;
-    while (tns = lstPopItem(&t->ErasedSamples))
-        FreeMem(tns);
-    while (tns = lstPopItem(&t->PendingSamples))
-        FreeMem(tns);
-    t->RBWidth = t->RBHeight = 0;
-}
-void tnsReadbackTexture(tnsTexture *t){
-    //if (t->RBWidth != t->Width || t->RBHeight != t->Height) tnsDeleteTextureReadbackBuffer(t);
-//
-    //tnsCreateTextureReadbackBuffer(t);
-//
-    //tnsBindTexture(t);
-    //glGetTexImage(t->GLTexType, 0, t->DataFormat, t->DataType, t->TextureReadBack);
-    //tnsUnbindTexture();
-//
-    //int w, h;
-    //tnsTextureSample *tns;
-    //u8bit sample;
-    //for (h = 0; h < t->Height; h++){
-    //    for (w = 0; w < t->Width; w++){
-    //        int index = h * t->Width + w;
-    //        if ((sample = *tnsTextureSampleU8(t, w, h)) > TNS_SNAKE_STRENGTH_LIMIT){
-    //            tns = CreateNew(tnsTextureSample);
-    //            lstAppendItem(&t->PendingSamples, tns);
-    //            t->SamplePtr[h * t->Width + w] = tns;
-    //            tns->X = w;
-    //            tns->Y = h;
-    //            tns->Sample = sample;
-    //        }
-    //    }
-    //}
-}
-
 tnsImage* tnsNewImage(void* MemPNG){
     tnsImage* im=memAcquire(sizeof(tnsImage));
     im->MemPNG=MemPNG; return im;