Skip to content

Commit adfed6a

Browse files
committed
Fix Processing_api.h: remove loadStrings/loadBytes (already in Processing.h), dedup isKeyDown
1 parent f3cee46 commit adfed6a

1 file changed

Lines changed: 85 additions & 2 deletions

File tree

src/Processing_api.h

Lines changed: 85 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// Processing_api.h
22
// Included in user-defined classes that don't inherit from PApplet.
3-
// Most free functions come from Processing.h (included below).
4-
// This file only adds sketch state accessors that require g_papplet.
3+
// Provides sketch state accessors and drawing forwarders via g_papplet.
54
#pragma once
65
#include "Processing.h"
76
#include <string>
@@ -30,3 +29,87 @@ inline bool isKeyDown(int k) {
3029
if(!PApplet::g_papplet||k<0||k>=256) return false;
3130
return PApplet::g_papplet->keysDown[k];
3231
}
32+
33+
// ── Drawing forwarders ────────────────────────────────────────────────────────
34+
// These are needed because Processing.h free functions are in namespace
35+
// Processing, but hoisted classes need unqualified access.
36+
// Note: random() is NOT forwarded here to avoid shadowing stdlib random().
37+
// Use ::Processing::random() or PApplet::g_papplet->random() directly.
38+
inline void pushMatrix() { if(PApplet::g_papplet) PApplet::g_papplet->pushMatrix(); }
39+
inline void popMatrix() { if(PApplet::g_papplet) PApplet::g_papplet->popMatrix(); }
40+
inline void push() { if(PApplet::g_papplet) PApplet::g_papplet->push(); }
41+
inline void pop() { if(PApplet::g_papplet) PApplet::g_papplet->pop(); }
42+
inline void pushStyle() { if(PApplet::g_papplet) PApplet::g_papplet->pushStyle(); }
43+
inline void popStyle() { if(PApplet::g_papplet) PApplet::g_papplet->popStyle(); }
44+
inline void beginShape(int k=-1){ if(PApplet::g_papplet) PApplet::g_papplet->beginShape(k); }
45+
inline void endShape(int m=0) { if(PApplet::g_papplet) PApplet::g_papplet->endShape(m); }
46+
inline void vertex(float x,float y) { if(PApplet::g_papplet) PApplet::g_papplet->vertex(x,y); }
47+
inline void vertex(float x,float y,float z) { if(PApplet::g_papplet) PApplet::g_papplet->vertex(x,y,z); }
48+
inline void translate(float x,float y) { if(PApplet::g_papplet) PApplet::g_papplet->translate(x,y); }
49+
inline void translate(float x,float y,float z) { if(PApplet::g_papplet) PApplet::g_papplet->translate(x,y,z); }
50+
inline void rotate(float a) { if(PApplet::g_papplet) PApplet::g_papplet->rotate(a); }
51+
inline void rotateX(float a) { if(PApplet::g_papplet) PApplet::g_papplet->rotateX(a); }
52+
inline void rotateY(float a) { if(PApplet::g_papplet) PApplet::g_papplet->rotateY(a); }
53+
inline void rotateZ(float a) { if(PApplet::g_papplet) PApplet::g_papplet->rotateZ(a); }
54+
inline void scale(float s) { if(PApplet::g_papplet) PApplet::g_papplet->scale(s); }
55+
inline void scale(float x,float y) { if(PApplet::g_papplet) PApplet::g_papplet->scale(x,y); }
56+
inline void fill(float g) { if(PApplet::g_papplet) PApplet::g_papplet->fill(g); }
57+
inline void fill(float r,float g,float b) { if(PApplet::g_papplet) PApplet::g_papplet->fill(r,g,b); }
58+
inline void fill(float r,float g,float b,float a){ if(PApplet::g_papplet) PApplet::g_papplet->fill(r,g,b,a); }
59+
inline void fill(float g,float a) { if(PApplet::g_papplet) PApplet::g_papplet->fill(g,a); }
60+
inline void fill(color c) { if(PApplet::g_papplet) PApplet::g_papplet->fill(c); }
61+
inline void noFill() { if(PApplet::g_papplet) PApplet::g_papplet->noFill(); }
62+
inline void stroke(float g) { if(PApplet::g_papplet) PApplet::g_papplet->stroke(g); }
63+
inline void stroke(float r,float g,float b) { if(PApplet::g_papplet) PApplet::g_papplet->stroke(r,g,b); }
64+
inline void stroke(float r,float g,float b,float a){ if(PApplet::g_papplet) PApplet::g_papplet->stroke(r,g,b,a); }
65+
inline void stroke(float g,float a) { if(PApplet::g_papplet) PApplet::g_papplet->stroke(g,a); }
66+
inline void stroke(color c) { if(PApplet::g_papplet) PApplet::g_papplet->stroke(c); }
67+
inline void noStroke() { if(PApplet::g_papplet) PApplet::g_papplet->noStroke(); }
68+
inline void strokeWeight(float w) { if(PApplet::g_papplet) PApplet::g_papplet->strokeWeight(w); }
69+
inline void background(float g) { if(PApplet::g_papplet) PApplet::g_papplet->background(g); }
70+
inline void background(float r,float g,float b) { if(PApplet::g_papplet) PApplet::g_papplet->background(r,g,b); }
71+
inline void background(float r,float g,float b,float a){ if(PApplet::g_papplet) PApplet::g_papplet->background(r,g,b,a); }
72+
inline void background(color c) { if(PApplet::g_papplet) PApplet::g_papplet->background(c); }
73+
inline void point(float x,float y) { if(PApplet::g_papplet) PApplet::g_papplet->point(x,y); }
74+
inline void line(float x1,float y1,float x2,float y2){ if(PApplet::g_papplet) PApplet::g_papplet->line(x1,y1,x2,y2); }
75+
inline void line(float x1,float y1,float z1,float x2,float y2,float z2){ if(PApplet::g_papplet) PApplet::g_papplet->line(x1,y1,z1,x2,y2,z2); }
76+
inline void rect(float x,float y,float w,float h){ if(PApplet::g_papplet) PApplet::g_papplet->rect(x,y,w,h); }
77+
inline void rect(float x,float y,float w,float h,float r){ if(PApplet::g_papplet) PApplet::g_papplet->rect(x,y,w,h,r); }
78+
inline void ellipse(float x,float y,float w,float h){ if(PApplet::g_papplet) PApplet::g_papplet->ellipse(x,y,w,h); }
79+
inline void circle(float x,float y,float d) { if(PApplet::g_papplet) PApplet::g_papplet->circle(x,y,d); }
80+
inline void triangle(float x1,float y1,float x2,float y2,float x3,float y3){ if(PApplet::g_papplet) PApplet::g_papplet->triangle(x1,y1,x2,y2,x3,y3); }
81+
inline void arc(float x,float y,float w,float h,float s,float e){ if(PApplet::g_papplet) PApplet::g_papplet->arc(x,y,w,h,s,e); }
82+
inline void arc(float x,float y,float w,float h,float s,float e,int m){ if(PApplet::g_papplet) PApplet::g_papplet->arc(x,y,w,h,s,e,m); }
83+
inline void image(PImage* img,float x,float y) { if(PApplet::g_papplet) PApplet::g_papplet->image(img,x,y); }
84+
inline void image(PImage* img,float x,float y,float w,float h){ if(PApplet::g_papplet) PApplet::g_papplet->image(img,x,y,w,h); }
85+
inline void text(const ::std::string& s,float x,float y){ if(PApplet::g_papplet) PApplet::g_papplet->text(s,x,y); }
86+
inline void text(int v,float x,float y) { if(PApplet::g_papplet) PApplet::g_papplet->text(v,x,y); }
87+
inline void text(float v,float x,float y) { if(PApplet::g_papplet) PApplet::g_papplet->text(v,x,y); }
88+
inline void textSize(float s) { if(PApplet::g_papplet) PApplet::g_papplet->textSize(s); }
89+
inline void textAlign(int a,int b=-1) { if(PApplet::g_papplet) PApplet::g_papplet->textAlign(a,b); }
90+
inline float textWidth(const ::std::string& s) { return PApplet::g_papplet ? PApplet::g_papplet->textWidth(s) : 0; }
91+
inline void tint(float r,float g,float b,float a){ if(PApplet::g_papplet) PApplet::g_papplet->tint(r,g,b,a); }
92+
inline void noTint() { if(PApplet::g_papplet) PApplet::g_papplet->noTint(); }
93+
inline void colorMode(int m,float mx=255.f) { if(PApplet::g_papplet) PApplet::g_papplet->colorMode(m,mx); }
94+
inline void blendMode(int m) { if(PApplet::g_papplet) PApplet::g_papplet->blendMode(m); }
95+
inline void noLoop() { if(PApplet::g_papplet) PApplet::g_papplet->noLoop(); }
96+
inline void loop() { if(PApplet::g_papplet) PApplet::g_papplet->loop(); }
97+
inline void redraw() { if(PApplet::g_papplet) PApplet::g_papplet->redraw(); }
98+
inline PImage* loadImage(const ::std::string& p) { return PApplet::g_papplet ? PApplet::g_papplet->loadImage(p) : nullptr; }
99+
inline PImage* createImage(int w,int h,int m=1) { return PApplet::g_papplet ? PApplet::g_papplet->createImage(w,h,m) : nullptr; }
100+
inline float noise(float x) { return PApplet::g_papplet ? PApplet::g_papplet->noise(x) : 0; }
101+
inline float noise(float x,float y) { return PApplet::g_papplet ? PApplet::g_papplet->noise(x,y) : 0; }
102+
inline float noise(float x,float y,float z) { return PApplet::g_papplet ? PApplet::g_papplet->noise(x,y,z) : 0; }
103+
inline float random(float hi) { return PApplet::g_papplet ? PApplet::g_papplet->random(hi) : 0; }
104+
inline float random(float lo,float hi) { return PApplet::g_papplet ? PApplet::g_papplet->random(lo,hi) : 0; }
105+
inline void lights() { if(PApplet::g_papplet) PApplet::g_papplet->lights(); }
106+
inline void noLights() { if(PApplet::g_papplet) PApplet::g_papplet->noLights(); }
107+
inline void box(float s) { if(PApplet::g_papplet) PApplet::g_papplet->box(s); }
108+
inline void box(float w,float h,float d) { if(PApplet::g_papplet) PApplet::g_papplet->box(w,h,d); }
109+
inline void sphere(float r) { if(PApplet::g_papplet) PApplet::g_papplet->sphere(r); }
110+
inline void camera(float ex,float ey,float ez,float cx,float cy,float cz,float ux,float uy,float uz){ if(PApplet::g_papplet) PApplet::g_papplet->camera(ex,ey,ez,cx,cy,cz,ux,uy,uz); }
111+
inline color lerpColor(color a,color b,float t) { return PApplet::g_papplet ? PApplet::g_papplet->lerpColor(a,b,t) : a; }
112+
inline bool isKeyDown(int k) {
113+
if(!PApplet::g_papplet||k<0||k>=256) return false;
114+
return PApplet::g_papplet->keysDown[k];
115+
}

0 commit comments

Comments
 (0)