Skip to content

Commit 1d6d804

Browse files
committed
Homepage: fix logo sketch loading via srcdoc, add code panel
1 parent e0ebe58 commit 1d6d804

1 file changed

Lines changed: 29 additions & 22 deletions

File tree

index.html

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -183,12 +183,33 @@ <h1>C++ Mode for<br><span class="proc">Processing</span></h1>
183183
<a class="hero-link" href="/reference">Reference</a>
184184
<a class="hero-btn-download" href="/downloads">Download</a>
185185
</div>
186-
<p style="margin-top:10rem;font-size:0.85rem;color:#aaa;">Independently developed by Jose Gonzalez Llamas</p>
186+
<p style="margin-top:2rem;font-size:0.85rem;color:#aaa;">Independently developed by Jose Gonzalez Llamas</p>
187187
</div>
188-
<div class="right" style="flex:1;display:flex;flex-direction:column;align-items:flex-end;gap:0;">
189-
<div id="logo-sketch-wrap" style="width:340px;height:340px;position:relative;overflow:hidden;border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,0.08);">
188+
<div class="right" style="flex:1;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:1rem;">
189+
<pre style="font-family:monospace;font-size:11px;color:#555;line-height:1.6;background:#f8f8f8;padding:1rem;border-radius:6px;border:1px solid #e0e0e0;overflow:hidden;max-height:320px;flex-shrink:0;max-width:240px;"><code>enum PartType {
190+
HALF_O, PLUS,
191+
PLUS_SHADOW
192+
};
193+
struct Part {
194+
PartType type;
195+
float x,y,rot,
196+
r,t,s;
197+
color col;
198+
};
199+
Part parts[] = {
200+
{PLUS_SHADOW,411,340,
201+
-0.5f,0,55,170,
202+
color(190,145,85)},
203+
{HALF_O,261,344,0,
204+
180,70,0,
205+
color(255,210,60)},
206+
{PLUS,319,348,-0.5f,
207+
0,55,170,
208+
color(255,210,60)},
209+
};</code></pre>
210+
<div id="logo-sketch-wrap" style="width:280px;height:280px;position:relative;overflow:hidden;border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,0.08);flex-shrink:0;">
190211
<iframe id="logo-iframe" sandbox="allow-scripts allow-same-origin"
191-
style="position:absolute;top:0;left:0;width:600px;height:700px;border:none;transform-origin:top left;"
212+
style="position:absolute;top:0;left:0;width:600px;height:700px;border:none;transform-origin:top left;transform:scale(0.4);"
192213
src=""></iframe>
193214
</div>
194215
</div>
@@ -520,25 +541,11 @@ <h3>New to C++ Mode?</h3>
520541
<script src="./assets/nav.js"></script>
521542
<script>
522543
(function(){
544+
// Load logo sketch directly -- iframe src points to a page that fetches wasm/data
545+
// Use srcdoc with inline script that loads from absolute URLs
523546
var iframe = document.getElementById('logo-iframe');
524-
var wrap = document.getElementById('logo-sketch-wrap');
525-
// Scale the 600x700 sketch to fit 340x340
526-
var scaleX = 340/600, scaleY = 340/700, scale = Math.min(scaleX, scaleY);
527-
iframe.style.transform = 'scale('+scale+')';
528-
iframe.style.width = '600px';
529-
iframe.style.height = '700px';
530-
531-
Promise.all([
532-
fetch('/assets/logo_sketch.wasm').then(r=>r.arrayBuffer()),
533-
fetch('/assets/logo_sketch.data').then(r=>r.arrayBuffer()),
534-
]).then(function(bufs){
535-
function b64(buf){ var b=new Uint8Array(buf),s=''; for(var i=0;i<b.length;i++) s+=String.fromCharCode(b[i]); return btoa(s); }
536-
var wa=b64(bufs[0]), da=b64(bufs[1]);
537-
var jsUrl = '/assets/logo_sketch.js';
538-
var html = '<!DOCTYPE html><html><head><style>*{margin:0;padding:0;overflow:hidden}body{background:#fff}canvas{display:block}<\/style><\/head><body><canvas id="canvas"><\/canvas><script>(function(){function b(s){var x=atob(s),a=new Uint8Array(x.length);for(var i=0;i<x.length;i++)a[i]=x.charCodeAt(i);return a;}window.Module={canvas:document.getElementById("canvas"),wasmBinary:b("'+wa+'"),getPreloadedPackage:function(){return b("'+da+'").buffer;},print:console.log,printErr:console.warn};})();<\/script><script src="'+jsUrl+'"><\/script><\/body><\/html>';
539-
var blob = new Blob([html],{type:'text/html'});
540-
iframe.src = URL.createObjectURL(blob);
541-
});
547+
var srcdoc = '<!DOCTYPE html><html><head><style>*{margin:0;padding:0;overflow:hidden}body{background:#fff}canvas{display:block}<\/style><\/head><body><canvas id="canvas"><\/canvas><script>window.Module={canvas:document.getElementById("canvas"),print:console.log,printErr:console.warn};<\/script><script src="https://processing-cpp.github.io/assets/logo_sketch.js"><\/script><\/body><\/html>';
548+
iframe.srcdoc = srcdoc;
542549
})();
543550
</script>
544551
</body>

0 commit comments

Comments
 (0)