@@ -185,8 +185,12 @@ <h1>C++ Mode for<br><span class="proc">Processing</span></h1>
185185 </ div >
186186 < p style ="margin-top:10rem;font-size:0.85rem;color:#aaa; "> Independently developed by Jose Gonzalez Llamas</ p >
187187 </ div >
188- < div class ="right ">
189- < img src ="assets/cpp-logo.png " alt ="Processing for C++ ">
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); ">
190+ < 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; "
192+ src =""> </ iframe >
193+ </ div >
190194 </ div >
191195 < div class ="scroll-hint "> ↓</ div >
192196 </ div >
@@ -514,5 +518,28 @@ <h3>New to C++ Mode?</h3>
514518</ footer >
515519
516520< script src ="./assets/nav.js "> </ script >
521+ < script >
522+ ( function ( ) {
523+ 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+ } ) ;
542+ } ) ( ) ;
543+ </ script >
517544</ body >
518545</ html >
0 commit comments