Pajdeg  0.2.2
Pajdeg
PDContentStream.h
Go to the documentation of this file.
1 //
2 // PDContentStream.h
3 //
4 // Copyright (c) 2012 - 2015 Karl-Johan Alm (http://github.com/kallewoof)
5 //
6 // Permission is hereby granted, free of charge, to any person obtaining a copy
7 // of this software and associated documentation files (the "Software"), to deal
8 // in the Software without restriction, including without limitation the rights
9 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 // copies of the Software, and to permit persons to whom the Software is
11 // furnished to do so, subject to the following conditions:
12 //
13 // The above copyright notice and this permission notice shall be included in
14 // all copies or substantial portions of the Software.
15 //
16 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 // THE SOFTWARE.
23 //
24 
59 #ifndef INCLUDED_PDContentStream_h
60 #define INCLUDED_PDContentStream_h
61 
62 #include <stdio.h>
63 
64 #include "PDDefines.h"
65 
74  char *name;
76 };
77 
79 
81 
88 
97 extern void PDContentStreamAttachOperator(PDContentStreamRef cs, const char *opname, PDContentOperatorFunc op, void *userInfo);
98 
107 extern void PDContentStreamAttachDeallocator(PDContentStreamRef cs, PDDeallocator deallocator, void *userInfo);
108 
117 extern void PDContentStreamAttachResetter(PDContentStreamRef cs, PDDeallocator resetter, void *userInfo);
118 
143 extern void PDContentStreamAttachOperatorPairs(PDContentStreamRef cs, void *userInfo, const void **pairs);
144 
155 
164 
174 
182 
190 
203 
205 
217 extern PDContentStreamRef PDContentStreamCreateTextSearch(PDObjectRef object, const char *searchString, PDTextSearchOperatorFunc callback);
218 
219 #endif
220 
void PDContentStreamSetOperatorTree(PDContentStreamRef cs, PDSplayTreeRef operatorTree)
Definition: PDContentStream.c:122
PDContentStreamRef PDContentStreamCreateTextSearch(PDObjectRef object, const char *searchString, PDTextSearchOperatorFunc callback)
! Advanced operations
void PDContentStreamExecute(PDContentStreamRef cs, PDObjectRef ob)
Definition: PDContentStream.c:138
void PDContentStreamInheritContentStream(PDContentStreamRef dest, PDContentStreamRef source)
Definition: PDContentStream.c:130
char * name
name of operator
Definition: PDContentStream.h:74
PDBool(* PDTextSearchOperatorFunc)(PDSelectionRef selection)
Definition: PDDefines.h:486
PDContentStreamRef PDContentStreamCreate(void)
! Basic operations
Definition: PDContentStream.c:70
void PDContentStreamAttachDeallocator(PDContentStreamRef cs, PDDeallocator deallocator, void *userInfo)
Definition: PDContentStream.c:98
void PDContentStreamReset(PDContentStreamRef cs)
Definition: PDContentStream.c:224
Definition: pd_internal.h:190
Definition: pd_internal.h:306
Definition: PDContentStream.h:73
pd_stack state
state of operator; usually preserved values from its args
Definition: PDContentStream.h:75
void PDContentStreamAttachResetter(PDContentStreamRef cs, PDDeallocator resetter, void *userInfo)
Definition: PDContentStream.c:104
PDSplayTreeRef PDContentStreamGetOperatorTree(PDContentStreamRef cs)
Definition: PDContentStream.c:117
Definition: PDSplayTree.c:20
Definition: pd_internal.h:544
Definitions for the Pajdeg interface.
PDOperatorState(* PDContentOperatorFunc)(PDContentStreamRef cs, void *userInfo, PDArrayRef args, pd_stack inState, pd_stack *outState)
Definition: PDDefines.h:550
void PDContentStreamAttachOperatorPairs(PDContentStreamRef cs, void *userInfo, const void **pairs)
Definition: PDContentStream.c:110
void PDContentStreamAttachOperator(PDContentStreamRef cs, const char *opname, PDContentOperatorFunc op, void *userInfo)
Definition: PDContentStream.c:83
const pd_stack PDContentStreamGetOperators(PDContentStreamRef cs)
Definition: PDContentStream.c:233
void(* PDDeallocator)(void *ob)
Definition: PDDefines.h:299