mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-01 17:27:19 -04:00
SComponent c_list / c_node (#5)
* SComponent c_list / c_node * SComponent: c_tree * SComponent: start c_phase * SComponent: c_tag * SComponent: c_counter * f_pc_line / f_pc_line_tag the beginnings of the framework process system * f_pc_method_tag * SComponent: c_node_iter / c_list_iter / c_tag_iter / c_tree_iter * f_pc_draw_priority * f_pc_method_iter * f_pc_profile Also add (untested) base header classes for f_pc_base * f_pc_searcher * f_pc_create_tag * f_pc_creator * f_pc_layer skeleton * f_pc_method * f_pc_line_iter * f_pc_leaf somewhat * f_pc_delete_tag * f_pc_create_req * Fix a few non-matchings * c_phase: slight additional notes * c_node: more matching * fix build * c_node: One more matching * f_pc_line_iter: Matching * f_pc_create_req: a bit more * f_pc_load, f_pc_deletor partial * f_pc_executor partial * f: minor cleanups * f_pc_executor Co-authored-by: Pheenoh <pheenoh@gmail.com>
This commit is contained in:
committed by
GitHub
parent
89f4055593
commit
eff77cbe26
@@ -1 +1,41 @@
|
||||
// ok
|
||||
|
||||
#include "global.h"
|
||||
#include "SComponent/c_node_iter.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
#define NODE_GET_PREV(pNode) (pNode ? pNode->mpPrevNode : NULL)
|
||||
#define NODE_GET_NEXT(pNode) (pNode ? pNode->mpNextNode : NULL)
|
||||
|
||||
int cNdIt_Method(node_class *pNode, cNdIt_MethodFunc pMethod, void *pUserData)
|
||||
{
|
||||
int ret = 1;
|
||||
node_class *pNext = NODE_GET_NEXT(pNode);
|
||||
|
||||
while (pNode) {
|
||||
int methodRet = pMethod(pNode, pUserData);
|
||||
if (!methodRet)
|
||||
ret = 0;
|
||||
pNode = pNext;
|
||||
pNext = NODE_GET_NEXT(pNext);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void * cNdIt_Judge(node_class *pNode, cNdIt_JudgeFunc pJudge, void *pUserData)
|
||||
{
|
||||
node_class *pNext = NODE_GET_NEXT(pNode);
|
||||
|
||||
while (pNode) {
|
||||
void *pJudgeRet = pJudge(pNode, pUserData);
|
||||
if (pJudgeRet != NULL)
|
||||
return pJudgeRet;
|
||||
pNode = pNext;
|
||||
pNext = NODE_GET_NEXT(pNext);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user