From 21dc42d2ad02cafed83cd39afd7305212787c114 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 9 Nov 2023 09:53:25 +0100 Subject: [PATCH] Updated examples --- examples/shapes/shapes_lines_bezier.c | 41 ++++++++++++----------- examples/shapes/shapes_lines_bezier.png | Bin 17537 -> 17953 bytes examples/shapes/shapes_splines_drawing.c | 12 +++---- 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/examples/shapes/shapes_lines_bezier.c b/examples/shapes/shapes_lines_bezier.c index 785d73a64..aaad68047 100644 --- a/examples/shapes/shapes_lines_bezier.c +++ b/examples/shapes/shapes_lines_bezier.c @@ -26,11 +26,10 @@ int main(void) SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "raylib [shapes] example - cubic-bezier lines"); - Vector2 start = { 0, 0 }; - Vector2 end = { (float)screenWidth, (float)screenHeight }; - - Vector2 startControl = { 100, 0 }; - Vector2 endControl = { GetScreenWidth() - 100, GetScreenHeight() }; + Vector2 startPoint = { 30, 30 }; + Vector2 endPoint = { (float)screenWidth - 30, (float)screenHeight - 30 }; + bool moveStartPoint = false; + bool moveEndPoint = false; SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -40,15 +39,21 @@ int main(void) { // Update //---------------------------------------------------------------------------------- - if (IsKeyDown(KEY_LEFT_CONTROL)) + Vector2 mouse = GetMousePosition(); + + if (CheckCollisionPointCircle(mouse, startPoint, 10.0f) && IsMouseButtonDown(MOUSE_BUTTON_LEFT)) moveStartPoint = true; + else if (CheckCollisionPointCircle(mouse, endPoint, 10.0f) && IsMouseButtonDown(MOUSE_BUTTON_LEFT)) moveEndPoint = true; + + if (moveStartPoint) { - if (IsMouseButtonDown(MOUSE_BUTTON_LEFT)) startControl = GetMousePosition(); - else if (IsMouseButtonDown(MOUSE_BUTTON_RIGHT)) endControl = GetMousePosition(); + startPoint = mouse; + if (IsMouseButtonReleased(MOUSE_BUTTON_LEFT)) moveStartPoint = false; } - else + + if (moveEndPoint) { - if (IsMouseButtonDown(MOUSE_BUTTON_LEFT)) start = GetMousePosition(); - else if (IsMouseButtonDown(MOUSE_BUTTON_RIGHT)) end = GetMousePosition(); + endPoint = mouse; + if (IsMouseButtonReleased(MOUSE_BUTTON_LEFT)) moveEndPoint = false; } //---------------------------------------------------------------------------------- @@ -58,18 +63,14 @@ int main(void) ClearBackground(RAYWHITE); - DrawText("USE MOUSE LEFT-RIGHT CLICK to DEFINE LINE START and END POINTS", 15, 20, 20, GRAY); + DrawText("MOVE START-END POINTS WITH MOUSE", 15, 20, 20, GRAY); // Draw line Cubic Bezier, in-out interpolation (easing), no control points - DrawLineBezier(start, end, 3.0f, BLUE); + DrawLineBezier(startPoint, endPoint, 4.0f, BLUE); - // Draw spline Cubic Bezier with control points - DrawSplineSegmentBezierCubic(start, startControl, endControl, end, 2.0f, RED); - - DrawLineEx(start, startControl, 1.0, LIGHTGRAY); - DrawLineEx(end, endControl, 1.0, LIGHTGRAY); - DrawCircleV(startControl, 10, RED); - DrawCircleV(endControl, 10, RED); + // Draw start-end spline circles with some details + DrawCircleV(startPoint, CheckCollisionPointCircle(mouse, startPoint, 10.0f)? 14 : 8, moveStartPoint? RED : BLUE); + DrawCircleV(endPoint, CheckCollisionPointCircle(mouse, endPoint, 10.0f)? 14 : 8, moveEndPoint? RED : BLUE); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/examples/shapes/shapes_lines_bezier.png b/examples/shapes/shapes_lines_bezier.png index 390a49adf62b8220c72db7a4ebc6298c977df202..aa5edf3185edc84fe3cf7d2613a2983ecbce574c 100644 GIT binary patch literal 17953 zcmeHPX;@Q7_rD1df(8s?m7pvUMXeh`Z~>7(Fo23Lui6%IDI#hVRB90ww1!n|1H`?J zVq=38TeYZ&O0`C@CGJE~ajjHr!MaPWyZ^rbN2H)XC|(Q z9uw}+*0n7~Q4Wz2VPh%E#*?CWM})TUr1P}xCW;!-7#S8ae$kX^FQ5PQ=d#@Y`nd89 z(s%qw5%NmR(e4fzX0gj#fAG?Bj4HbX+4lTgqe`fG%MTw-s$A)O`0am$7s}dYm?c_s zSkSxJkna_{+*ND5E8fXNCFWu0J9$7XoO=gvigf#)o6(F6pr0e(7Y#l^YHvKii;v(W~FZ2#0SE>kc)po$I1xd9yml*eEio ze(Unq@PN3{PZX9#S9yneEzDM4&U2F#r}O zr6s7SSBkh4+XUJ9cZNVsKS8OlO=hCNX=y@1t$($lDNZKnWzU;^h7#?qb8+~(-pOFN zbze1fC=-XZq4c7s3f>adbg09kF{QJdH}9#<>NlnLwGEjkf{&hVj!uvA+wV8JdDB_)&{g@oQDtPiFXRt#1ufD`&hqX*yM=V{nF z*YZ2_7t1I0T&Xd%-3HatSo@t`OAiX}_1;_&_(kM__BofQ{>Sv$B(J>2=V_4#e$5%b zOzV1Y%`fNTB$AQ^KY0!gGWS_x8?a22axir6>*58kzxiliwCkHJ|2LY7kCPxewro|Eoy?97+$79zZeMXOH6rSx#@mraPQ~X( z3%5VE>;KsP(x_RB9R7O#`PD_6Ws_IA&aLflr@SIzcCqPcx3J{LcVN1mQlH8}d6}hlrIAWhpoZL4YbAxnT@MB7CX{yO z>kEYQX9{XVBzHGzO3GTZ5g_%s%#-@<=+&gI`E6`ye4)+oX6@7To)5o@JpQn%`J|)4 zZH@W2g{?}1?Lr}7Ws}Au+NNu*y)^vAMb~vx*ALJlIfj}Z*_>aTacYg`v|iKc1XF3q zr)0G0X3skz)lC&E7j+%bZ$@x#n(dK`i+RV)-&bW0OCLLDa9ZeJs>8!tDWV*TjH57T z^T^|4`$pSzPO-07jr9%|$cvmBB%NXxMt`SwTWLP%ZP=RHise#gJ}B`0Y_EZSQiGpI z`I%j1Uv-F0jn>YLR0j4i{QRJmI<@Zf8zrvI1;V5sc&edi8Y81@z78@6_VO9NWz+%X z`nma?4ic$ac$F_fx>1fhp%Tg!`u8foUhaCL6482p-^u_+w1w8Z2Ef3OP-^j^W2$cx zWM8#vkEjK-v*=bS73yrU{N5UE8sD|jzih%Pv-4i%>Kj(9N3;bknN(>W4!pJswd<(8 z%0Mr}v1BWi6ldd(tT2~at5BcaGSN`9(%hW|>u8BKDv+D%ehOEp9i{SnXSbVAn^cdw zTA|pv$fS~}bD#`LN=>X7aeR1(x=#)n(v`~9cdWRJcBHv`?&grebL7?C5pLaZIb^q& zVZF4#`&TOsZSF+tM;7SH&*~+JD{>lJ_{weacm6s}cncb&aarz2TIuI*tAwK8#8kiY zu6H#WZ?n~M^&RQun!&LY-36vggM9=1e02w`*0P<5*J^;Z4vRha`uSF7ES2pqR)QtwyZ5kFUX~KcDWe7erEoRLN52b*~@7!iGrLeY|o3IF#@f1DS^9|Iu_f16fM*Z zvCHI5{yMQ0ON|x@X@IEi0Q{{q3#?J_3A%?b`2lgk+XmVFKMAs_R`F2Njn0Nmvk?>O zIHB0DPkf&SrmXvme_0 zAXsr_^Rk#z`~{(R^yy*BtaPq6;}WpW?P$59`w4`1og_sLlBgsrCQ#~-(XJu?3-kuQ z_nnpSld$kz=oe+}cuPR%)6&D8uXETu3EfKmQ_HLR4}`{on?F|!7Ch^?9TA`7rk9Pl zPq|AknPQ(|o<6}~KZh#;h2ty*^L7#QwvWTxC9tg^QHEu#@fXCM*q%H&K{#=Te`Vi9 z*;Gy|`2ZDe$db7Ih?DvRbn(?a<+xV^9_^f`gH*H#v<}9o=ST^R!+5CV3C%``GyiEo zH~lD4h@;zNoxd)QlLJ)Cjg9VFb4Of&RH4+bI}e(|pB1ErDxL4L7ZqK@+Q3yH%U7UW zKRw_3BuCOs*anwqg=GZ@g#AvqB5N8s)-1;k6;JbFyHt4N&+NM6e!l7esb`w(eGYdr zf$cKdt;RLcylBA)fMkwx;E5ub4w9{lXv;+8P>p;=bhseQ5ZE%1sh#`X6(RI=~U98H+O;lR&COB>y0B z?g&g`;;bUWtBl2~L}8MX9FnJ)mywv{158rGA=!sXLNUp7Oj5@o8G=cCG07ZEa+O2! z6!U^jk-I>sUYD@A@9Qtl7aBTuF7STMHo4wno@=yu@&L2+fEeNAU)ykO!QU_mSP)27 za7l(^3*x#R2J<6iwBQz;0l{U{h0gLFhtLnZ!E7h;g6fC|yEtdS(oivu7GC}YhfYrjeEN%hWGW$+CJ>2YLOL;j~3IyHjt@HOel2` zG&07dnlE8V%sUR#DEkYlwq(`5QgveFy6WE!i3}%pDp#Lm$FCM9NsvTq$(jJdKJF=y zDSTa%t#~cQIr+S$7EznT#`E^G0-Fn`mOK0EQrO8z-Hf%Rv-pH3FkYlJclTwRt`=s= zV3*m1%WmLau+V7ELNq*=L`7P7ktcxDgeq4bXNwSxA>??OW%cd=>v|^0_Opv7HC^hH z*51VE#20jzlcT><8&b5!EC(dUc3%WaVZ7FRnkA{5guI&kM*S#z^PYlD1^&8?Y#u3# zubV79X(hC<#YCet>!7^G4%^Hv1GDi$Uee&=o455E+ox<*MlEo>^3(pD$Dgxaw~%GUxw%exM{@%~p|1Bu?u038PtJk*t69|?^|;_x zm6lg|0oWV9VlkCVb;qfGs>QyIP_1F5V$S4FBtpB5ClQ_k>!L_wjjx+%6`ZmmD)1));I?+|SQ z@;hi^ES-?gy&yYhilOV0rw7**`KC>L&S`mA-3}de5uwzTrkH($zAIE-W}8-Y9w&lp zME)?T`g>>J02JrU&bg!T&X35>yXc)q?a~&t36LZrKF71D6`1-Vp*|v}+|C4EwwFZd z7{wqx!oZ*@&0=EPS;Dvshm3k$2~x;>Kmi@jeW4_32crN*5Uqe&82-ovxiLb`bthk4 z0udD+S+MziqRGQzmxEpjvP%s1Y-PYq$fMyV)h<@XM3|BUIP@%)fShhFp4k3Xm;4nB z$MC5fU@Ii7A%p=Tk1eWzToea;Ln3i)*$6suWQHbYqr(v1uu(IK zv#P$>3}=~*(BE-~LPx6{S^=cu!%R97UBD@S19@q*A`ZD}F${wC6c0Ry9ax7MPiLk+V(Js=P;|aZw5Ams7Y@6x>c&0-Z*}l3Y|Bfkew?{(>K^y!gLRH%6BKdk z{!$}4X)(7k8dkKlR51WGr)<9e##mw93sZaWX&!3MX&!_kUeb#Y<;)P}?jwY$Tq+17 z*VAMx==LjKc^XFTWK+>a$bkV3HGKtTckO1`+-oBV(k+yk$rdVM4RkpuM_(j6+z=a6 zBc&CupsD7}1xnw;j!2M+*D!(d?<~y>R~fH-E(Eg~7KiV~;-C$vAn*s5>*i*r zI#E#QfykLFB0AP&jiS|1=z}~B;Sd`IEiTKRW>~m4DyXHw!p5+^H789fG2w&Wc@Ngx zI-)n3;0B-xj|AC3mYM=UCddFgnLRXOmuu~Pb-kF^RGHEkk|)3!cFU9_@!y$Sg*tc|wi* zsX(2a*}4?KVD*E7l5d%nz6p(MR$Vt|GhkSrk263xql>T{>iO0f&nUyU@%i4Hn3u=m z$eh9Kkmtxt3V)nAL#fQ-%s2BOKp}m_GM#}ZvQ(DFdmXdfNC+Q5#jXru^n_79A|lWo z68d}`V|N+RwUGCaUok{DRWe}@XZf1`KfAIAHVsf(q1U<0VyKTmzT5MI)Y9`2Fb)ze z_jv8$z!_K?L3``w`Vc3eFybr>^5^4a}cBMgPVhVhDZkuIS?IX z5#hdRRy?E18B!|Xy>_xLnMsEmx5gOkTW&0*(xu~5R-TK3g!P#gf$VPxwpxkX`&t6| zL2c)7a^WfrIdK}x`v6e3mJwYpuw$f7vF9~UJR7pE0EKMJER8cpqfHA}H);Z<;G8pQ zbZ;aIn1CCghpZLbA&#QjTL`2sJL9MbL+}pdNfSx0MA(qrn%+j5}_AVKaitA{}6iUc`M9{mI;T6AA^n?QVc4(K>dc3<@yQCU6icG;KAN)>82 zxXpd>(}gn4FRVUG45_|Hj3JT*q@$Np&&>xst5IDrv;ZkZoC?E@TLdM-(amifP;%mB ziy*9FRMC+IKf6P!19OIwjEl5|<|B)V?G$kl*~UgtmHh(p2%4{1%;5rjYV5?ZIGcnOx3;{lh%*7`eC0XE=x9Pdxq|dDsH@{Htm=RkhJ)T+ z^>t5{Yi!>zPIkjGHz%$NW^KT-d_!c}Y)LVsbHgO4LWhw@3UKhkdbcRnNvC2E4!o8m z&l&g9SvfaFn7sGp;p8`{SjCX-K;&XPk(tG^L6cY>tn1t$K@hB*_53u>%&c*`)Q!LI zNfsJ{IX@wCwz{)f(_J9{HvWT4n+vw)PZ>KzS4YZ()xZdV(G02j?q}kf9yx}=TMC(k z1ji=maAE|Dmkna-u3gBX;$+m1x6Gm5zT&FT=$?Xdn6uUquY!?1OmhLTjboijl(ps6 zh=e;D>wuJ_V5oO2hHeMRpwa`=!9cRI6OqX-UH&HmSd!qB+t6?t3VvoayO7ii!icqWj0cV z;g-9GJW9q1ya%II&6l_z+(~k}5l>m)`v(#`0Nnu??NWC6mX5Y^CZ zulURopSJyJ^tzRG=`9S;KJ1qf5^tKMH;d#bCRss9&^<&z?c>SDpo?#SmqpjjB7$_9 z9eBU|@bMvlcC5?}YHgAluRXH!5|%9(qa4S~bJ3s{0l7@#vWOYVg|9ztn_w|Y7 zr}d3PuBrGI7|ENBGg=U*aq+>nv9;Jn{x!C6IWZ?{UezEA^w5!H2&l5i!n9c+LIfUn z%(q|*-etU74rjMmZ07D3mer{k8B8Xgfo4ML9+;(0gryCbrEP4MjF4B6+YykZ|BMDn z;}}c_aOs9UuV%EcG6f(r^7Ik{!aZ?65;>D(V01s=0igV{hx0fY?@ zb$+kFn>0wCczU#T279qQ7+Uw7mQkJ$(X;xDC3>{@f2dd)EM9lwkx$vrOEUl8)G}J`rcno z?YI@Q4~F?pB;ve!(~C8=99h~3bWY?dgBJ|f&_Tjuwr}ed!gBZL)l`5}yKC)?ct=-A9gnHI07g zWtl{i%u7pS3mFP|D$cFNmZ30l8#=Tos02L|WcE0IilI*ACCd(SNIW4GoNCmkhtw2} zn_hjCx?QYM){?5W9K+vg4rdXe#t%2GzC{5UabAQ}?#EjPPZ_qiCh6fhS=B=uNl5ci|X zl;{5BDB>aDm{tC|Y^*Cdt3lcCBEt!MQi5VY`k}Osh@RjA!x^Z!0NjJ4;O)b_Y*ZD3 zutMc?;w|H`@>vII-~d%{96cbR`7|8e;tZz6-oA`s9X@G5F~~Z&nMuMVt2rbmF-Zp; zNTV@HA%}zyxExmT#Uy<($rl`wP)n{Y5aucWe$@Dr)|^DACixFo)IA(+OvTzbhP8nX zj={lyW$RR9#5%o0>(usroZVP(2fP64?Zj1WD*Fgh=RrUFPoM*ChtaoC`eL5WV4n7J zcyi#`LMDoSpqV??BdR+sTrD2T$1)>0I!CD?`oqbfwFV}4DDft-t1-Z$9s+r~!jV^a zXHH;q`$UuGbgstxOSBGI&r z0*xXnNmjP#3e6zVEg~A(pz$L@1F2SPn;_N-;Oj)RNj#x`qKfmCWd+NEyj=>a;%eK) z_MLW3ExQ$KII&CVd08Th4K_;c)ofzGh)tXb7K`pi{I@1LG z(AVsEOR%Hj%XN&m!k{gF?zp|HXC_c?zXrO#r2patGc+(`Z%!qkdocOQB%$e%IjEaq z1;XrOXv2&nC$W|ZBXtTi;pMBtlWn*JhAy18WA>y!rL^OPx;beT->Eyh7n}w*QC9=w z21I+!n%02_ZQ4b++2u&z+eB?9=dKn*Zv#DcfzT9RH(9!`D-Ui4HYjI~P&%W_ru3C- zO-Tb+^%*?Sz`7Y3U5BE}nK2Myjh4=aQ^DYU9aiTr@cwJe=PhPm`cqbaLBxbj{*|&s z84upB!4dO0ClSNjFhN0=B|m}WkG`h}h5I|!e1*>19e`w5qHHrF!L@y)HOW}u0dA+3 z!OrE_^D;R_0nQ2`m-Ij58nq8dWSC^WHA#w4-QRy0Ty(VA{31-gN#J%fvF906T)U$N zGlm>KSk%Qke@+NO;^XNfio8<<&6GL$iILFHSVIEza5+?6dkg8OoyNophaC3cy zli%PwqYk|IzgKwL8C5eAWD0QnIhf%iR_j5lsy!#!nRBnR z^jV4I+R@>MSG?)iR`(>2=Ab9VlWjR4JoLFD@cQ8TM*Ln&Dx|MnWS z&rY6SW>VZDWOVI1m(czWj6BBxVA3Sq_&dE9(bnZF2;94(*&e zOP!`u68ZG`S8;Vp|%Z< zcG8b`fBUmvGW9UxSRRW1ZXE1F^Bp1L%@6eQNz}r%`JPD*g$?0js%W0i7vM?0cU<3zY;TiW(xPDsEtEdNWXqVdFAtfQB_GzCPR*w2n{FHY!$?;_bxtJ?zwROgJ&zR zUfS?OQ;w+lcDAT`ddxfgMwu)WZE-vvx1wZbm#dAxuc@!&Nnkh?+ki1X%od!QDsYO=wBN7Dy#5KV z$>Z(;^qp`}rmIzi=)-ya^GjS&#|#yi zbj+M=WII9_o#-5}J?OE2(aQQWU7iahs`jSjQJY2^p0Vc6+yth6Dvld8NIx;ze6D}m z;@N2ND@;OQe}XT2=>OPu6dB_znT%V7vy(et{{^q<{6Lqv>&2O?P9s_;tC~$0ZurqX zmr9QvcB)F_o+=7ES_s);w{^y}m_X~oFW=OLw_x~?#+qZ2ygUz3_Y5mANBRI5JE(># z22Kj}(8sy|Gaa0FUiEuX>YiHe^Qq5>2WXV{BYT#_cmVa4RDO4iu=Mf3u7fvu*$udP z@rRG!6qdBiHQ8MV(g>PFRBy`>1!sKOb)5X$*%|9n9R5CS*DFamFVy4Itk&U*I$wE? zSbg`3=N4z*RRQj0p6<}rotpa&(p%!EpFZJNeZ9N0w%&PO6`io7F zDjWj*(z^`~7se{>m$GKJEsjoH9wAXidh1XB{>KAIVgG93UoDUV@vkrZzxe`1^$IV0 Vx@l0vBMSaSju;cRBQ!4a{{Terf2aTe literal 17537 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 diff --git a/examples/shapes/shapes_splines_drawing.c b/examples/shapes/shapes_splines_drawing.c index 435ff79b9..8df5f09f4 100644 --- a/examples/shapes/shapes_splines_drawing.c +++ b/examples/shapes/shapes_splines_drawing.c @@ -192,12 +192,12 @@ int main(void) DrawSplineSegmentBezierCubic(points[i], control[i].start, control[i].end, points[i + 1], splineThickness, RED); // Every cubic bezier point should have two control points - DrawCircleV(control[i].start, 4, GOLD); - DrawCircleV(control[i].end, 4, GOLD); - if (focusedControlPoint == &control[i].start) DrawCircleV(control[i].start, 6, GREEN); - else if (focusedControlPoint == &control[i].end) DrawCircleV(control[i].end, 6, GREEN); - DrawLineEx(points[i], control[i].start, 1.0, LIGHTGRAY); - DrawLineEx(points[i + 1], control[i].end, 1.0, LIGHTGRAY); + DrawCircleV(control[i].start, 6, GOLD); + DrawCircleV(control[i].end, 6, GOLD); + if (focusedControlPoint == &control[i].start) DrawCircleV(control[i].start, 8, GREEN); + else if (focusedControlPoint == &control[i].end) DrawCircleV(control[i].end, 8, GREEN); + DrawLineEx(points[i], control[i].start, 1.0f, LIGHTGRAY); + DrawLineEx(points[i + 1], control[i].end, 1.0f, LIGHTGRAY); // Draw spline control lines DrawLineV(points[i], control[i].start, GRAY);