Skip to content

Commit 8cee9a2

Browse files
committed
Processing_api.h: use ::std::string to fix Apple clang namespace conflict
1 parent 6a83985 commit 8cee9a2

1 file changed

Lines changed: 27 additions & 8 deletions

File tree

src/Processing_api.h

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -101,18 +101,18 @@ inline void camera() { if(::Processing::PApple
101101
inline void camera(float ex,float ey,float ez,float cx,float cy,float cz,float ux,float uy,float uz){ if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->camera(ex,ey,ez,cx,cy,cz,ux,uy,uz); }
102102
inline void perspective() { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->perspective(); }
103103
inline void ortho() { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->ortho(); }
104-
inline void text(const std::string& s,float x,float y) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->text(s,x,y); }
104+
inline void text(const ::std::string& s,float x,float y) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->text(s,x,y); }
105105
inline void text(int v,float x,float y) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->text(v,x,y); }
106106
inline void text(float v,float x,float y) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->text(v,x,y); }
107107
inline void textSize(float s) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->textSize(s); }
108108
inline void textAlign(int a,int b=-1) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->textAlign(a,b); }
109109
inline void textLeading(float l) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->textLeading(l); }
110-
inline float textWidth(const std::string& s) { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->textWidth(s) : 0; }
110+
inline float textWidth(const ::std::string& s) { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->textWidth(s) : 0; }
111111
inline void loadPixels() { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->loadPixels(); }
112112
inline void updatePixels() { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->updatePixels(); }
113-
inline void save(const std::string& f="") { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->save(f); }
114-
inline void saveFrame(const std::string& f="frame-####.png"){ if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->saveFrame(f); }
115-
inline PImage* loadImage(const std::string& p) { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->loadImage(p) : nullptr; }
113+
inline void save(const ::std::string& f="") { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->save(f); }
114+
inline void saveFrame(const ::std::string& f="frame-####.png"){ if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->saveFrame(f); }
115+
inline PImage* loadImage(const ::std::string& p) { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->loadImage(p) : nullptr; }
116116
inline PImage* createImage(int w,int h,int m=1) { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->createImage(w,h,m) : nullptr; }
117117
inline PGraphics* createGraphics(int w,int h) { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->createGraphics(w,h) : nullptr; }
118118
inline void image(PImage* img,float x,float y) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->image(img,x,y); }
@@ -160,8 +160,8 @@ inline void textureMode(int m) { if(::Processing::PApple
160160
inline void textureWrap(int m) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->textureWrap(m); }
161161
inline void clip(float x,float y,float w,float h) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->clip(x,y,w,h); }
162162
inline void noClip() { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->noClip(); }
163-
inline void windowTitle(const std::string& t) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->windowTitle(t); }
164-
inline PFont loadFont(const std::string& f) { static PFont d; return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->loadFont(f) : d; }
163+
inline void windowTitle(const ::std::string& t) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->windowTitle(t); }
164+
inline PFont loadFont(const ::std::string& f) { static PFont d; return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->loadFont(f) : d; }
165165
inline void textFont(const PFont& f) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->textFont(f); }
166166
inline void textFont(const PFont& f,float s) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->textFont(f,s); }
167167
inline void set(int x,int y,color c) { if(::Processing::PApplet::g_papplet) ::Processing::PApplet::g_papplet->set(x,y,c); }
@@ -183,4 +183,23 @@ inline void exit_sketch() { if(::Processing::PApple
183183
//
184184
// For now we define them since most sketches need width/height as globals.
185185
// PImage members can be accessed via the struct directly: (*img).height
186-
// or by temporarily undefining: #undef height ...
186+
// or by temporarily undefining: #undef height ...
187+
// ── Environment variable accessors ───────────────────────────────────────────
188+
// These let user-defined classes (not inheriting _PSketch) access Processing
189+
// environment variables. Inside _PSketch, member variables shadow these.
190+
// Outside (hoisted classes), these resolve via g_papplet singleton.
191+
inline int width() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->logicalW : 0; }
192+
inline int height() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->logicalH : 0; }
193+
inline float mouseX() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->mouseX : 0.f; }
194+
inline float mouseY() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->mouseY : 0.f; }
195+
inline float pmouseX() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->pmouseX : 0.f; }
196+
inline float pmouseY() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->pmouseY : 0.f; }
197+
inline int frameCount() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->frameCount : 0; }
198+
inline char key() { return ::Processing::PApplet::g_papplet ? (char)::Processing::PApplet::g_papplet->key : 0; }
199+
inline int keyCode() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->keyCode : 0; }
200+
inline int mouseButton() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->mouseButton : 0; }
201+
inline bool mousePressed() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->_mousePressed : false; }
202+
inline bool keyPressed() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->_keyPressed : false; }
203+
inline float frameRate() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->_frameRate : 0.f; }
204+
inline float mouseDX() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->mouseDX : 0.f; }
205+
inline float mouseDY() { return ::Processing::PApplet::g_papplet ? ::Processing::PApplet::g_papplet->mouseDY : 0.f; }

0 commit comments

Comments
 (0)