From 19400ed32ec3ffaa3ad82c04ebb1ad8472496412 Mon Sep 17 00:00:00 2001 From: Annika Date: Tue, 7 Jul 2026 03:49:24 -0700 Subject: [PATCH] split out main loop from draw class --- Makefile | 8 ++-- draw | Bin 41184 -> 41184 bytes draw.cpp | 78 ++++++++++++++++++------------------ example | Bin 36880 -> 41192 bytes example.cpp | 63 +++++++++++++++++++++++++++++ libwaymini.a | Bin 23038 -> 22878 bytes waymini | Bin 36896 -> 36896 bytes waymini.o | Bin 13936 -> 13776 bytes xdg-shell-client-protocol.o | Bin 8448 -> 8448 bytes 9 files changed, 107 insertions(+), 42 deletions(-) create mode 100644 example.cpp diff --git a/Makefile b/Makefile index de58a3d..5534f62 100644 --- a/Makefile +++ b/Makefile @@ -12,13 +12,13 @@ LIB_OBJ := $(LIB_SRC:.c=.o) .PHONY: all clean -all: libwaymini.a draw waymini +all: libwaymini.a example waymini libwaymini.a: $(LIB_OBJ) ar rcs $@ $^ -draw: draw.cpp libwaymini.a - g++ $(CFLAGS) -o $@ draw.cpp -L. -lwaymini $(LDFLAGS) +example: example.cpp libwaymini.a + g++ $(CFLAGS) -o $@ example.cpp -L. -lwaymini $(LDFLAGS) waymini: waymini_standalone.c waymini.c xdg-shell-client-protocol.c $(CC) $(CFLAGS) -o $@ waymini_standalone.c waymini.c xdg-shell-client-protocol.c $(LDFLAGS) @@ -27,7 +27,7 @@ waymini: waymini_standalone.c waymini.c xdg-shell-client-protocol.c $(CC) $(CFLAGS) -c -o $@ $< clean: - rm -f $(LIB_OBJ) libwaymini.a test waymini + rm -f $(LIB_OBJ) libwaymini.a example waymini xdg-shell-client-protocol.c xdg-shell-client-protocol.h: gen-protocols.sh bash gen-protocols.sh diff --git a/draw b/draw index cf98c585ac88d73c168a53277d348044bb8a2be3..0e3e94560a370af090bf1c1cf9dd1a423ccf0203 100755 GIT binary patch delta 8703 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 D2h3`z delta 8769 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
LBVaDAGj*u zX#LWU_~^E2TOZj{;QH#Lh>|`4=E0coHuOj#A!E2|bT;+D9RjYh7cLXbt-zI^QBDNz z>PK0$^^9^OFnUoIC==1G2KRPSDcG~To8s~|S|5@vzX-)YU7y$B{m>83*t0fTWy=Ee zP@b4V$c#j)2S{e2J;Rb`x4nbrYT!$iRZqShpMlI+qKsNTE?5Y>AH6o@PXY1)HuAlj z;`3zd&qDn-$BA1ki#PVOd|)q_YcGs*u=WDpo^RP^FA(j87QcPDU|*SQU!7|&V}17g z=Nk&`wukKb8~d$DY?w2^vLvyAVn(0hm}=NK-lS=$rwn7y5B1;JZ&SQ%RZcEXSkw&K z0UQr{hvz(Sd;8$JfZGim?qu{Ig)9kUt_E(fiE{#G0Czz7Y4NzAh?WzXKiZ^{M`;yg z0k?nxHP>Fv79lzRQon@USj~nkVtszdl9yQj(11nt^FtOrF{&W51V>P^NI!z_09OE9 z@6qf9ZXs}381z#bi^q>CZP4@|$>1|76YDdG2Cm1Mg}Vl>h#TidM}v@3*#AP5V)F^1=8GMtqV-F3I1SGS1RvIkFjM+@+*_sEQQB2 zL;3Y9schjc>6LVLSeco0dZmV_*xyhZQKI40g#3I%+XCfmxF+F>UhI(eyLN2a!m`!7 z+?!7hWM5aud?z@hf>tvv8(w_ HN8JAd+Nf;| diff --git a/draw.cpp b/draw.cpp index 96568e8..bcfc3d4 100644 --- a/draw.cpp +++ b/draw.cpp @@ -2,6 +2,8 @@ * No external dependencies beyond waymini itself and the C standard library. */ +#pragma once + #include "waymini.h" #include @@ -16,15 +18,15 @@ #include "surface.cpp" // this should be handled elsewhere, eventually, maybe, probably -static void onKey(void *user, uint32_t keycode, uint32_t state) { - if (keycode == 1) { - exit(1); - } - (void)user; - const char *label = state ? "down" : "up "; - printf("key %s: %u\n", label, keycode); - fflush(stdout); -} +// static void onKey(void *user, uint32_t keycode, uint32_t state) { +// if (keycode == 1) { +// exit(1); +// } +// (void)user; +// const char *label = state ? "down" : "up "; +// printf("key %s: %u\n", label, keycode); +// fflush(stdout); +// } namespace UwU { @@ -273,41 +275,41 @@ namespace UwU { }; } -int main(void) { - uint32_t w = 800, h = 480; - UwU::Color fuchsia = UwU::Color(0xb00b6940); - UwU::Color red = UwU::Color(0xff0000ff); - UwU::Color green = UwU::Color(0x00ff00ff); - UwU::Color blue = UwU::Color(0x0000ffff); - UwU::Color alpha = UwU::Color(0x00000000); - printf("r: %u, g:%u, b:%u, a:%u\n", fuchsia.r, fuchsia.g, fuchsia.b, fuchsia.a); +// int main(void) { +// uint32_t w = 800, h = 480; +// UwU::Color fuchsia = UwU::Color(0xb00b6940); +// UwU::Color red = UwU::Color(0xff0000ff); +// UwU::Color green = UwU::Color(0x00ff00ff); +// UwU::Color blue = UwU::Color(0x0000ffff); +// UwU::Color alpha = UwU::Color(0x00000000); +// printf("r: %u, g:%u, b:%u, a:%u\n", fuchsia.r, fuchsia.g, fuchsia.b, fuchsia.a); - // struct waymini *wm = waymini_create(w, h, on_key, NULL); - UwU::Draw draw = UwU::Draw(w, h, onKey); +// // struct waymini *wm = waymini_create(w, h, on_key, NULL); +// UwU::Draw draw = UwU::Draw(w, h, onKey); - draw.rainbow(); +// draw.rainbow(); - draw.rectangle(UwU::Coord2(69, 69), UwU::Coord2(420, 420), fuchsia); - draw.rectangleGradient(UwU::Coord2(200, 200), UwU::Coord2(600, 400), red, blue, alpha, red); +// draw.rectangle(UwU::Coord2(69, 69), UwU::Coord2(420, 420), fuchsia); +// draw.rectangleGradient(UwU::Coord2(200, 200), UwU::Coord2(600, 400), red, blue, alpha, red); - draw.trapezoid(UwU::Trapezoid(300, 400, 360, 380, 600, 400), green); - draw.triangle(280, 100, 240, 290, 320, 300, green); +// draw.trapezoid(UwU::Trapezoid(300, 400, 360, 380, 600, 480), green); +// draw.triangle(280, 100, 240, 290, 320, 300, green); - draw.point(UwU::Coord2(387, 43), green); - draw.line(UwU::Coord2(300, 100), UwU::Coord2(250, 469), green); - draw.line(UwU::Coord2(250, 100), UwU::Coord2(300, 469), green); - draw.line(UwU::Coord2(300, 100), UwU::Coord2(469, 250), green); - draw.line(UwU::Coord2(469, 100), UwU::Coord2(300, 250), green); - draw.line(UwU::Coord2(100, 300), UwU::Coord2(250, 469), green); - draw.line(UwU::Coord2(250, 300), UwU::Coord2(100, 469), green); - draw.line(UwU::Coord2(100, 300), UwU::Coord2(469, 250), green); - draw.line(UwU::Coord2(469, 300), UwU::Coord2(100, 250), green); - draw.present(); +// draw.point(UwU::Coord2(387, 43), green); +// draw.line(UwU::Coord2(300, 100), UwU::Coord2(250, 469), green); +// draw.line(UwU::Coord2(250, 100), UwU::Coord2(300, 469), green); +// draw.line(UwU::Coord2(300, 100), UwU::Coord2(469, 250), green); +// draw.line(UwU::Coord2(469, 100), UwU::Coord2(300, 250), green); +// draw.line(UwU::Coord2(100, 300), UwU::Coord2(250, 469), green); +// draw.line(UwU::Coord2(250, 300), UwU::Coord2(100, 469), green); +// draw.line(UwU::Coord2(100, 300), UwU::Coord2(469, 250), green); +// draw.line(UwU::Coord2(469, 300), UwU::Coord2(100, 250), green); +// draw.present(); - while (!draw.shouldClose()) {} +// while (!draw.shouldClose()) {} - draw.destroy(); - return 0; -} +// draw.destroy(); +// return 0; +// } diff --git a/example b/example index a2fad60e84544c0deff972de3fc0abd05be8a99d..69e09e8d2b47952a9fc1fac2230f46a8d593e450 100755 GIT binary patch literal 41192 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 literal 36880 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 diff --git a/example.cpp b/example.cpp new file mode 100644 index 0000000..806a9fc --- /dev/null +++ b/example.cpp @@ -0,0 +1,63 @@ +// #pragma once + +// #include "waymini.h" + +#include +#include +#include +#include + +#include "datatypes.cpp" +#include "draw.cpp" +// #include "triangle.cpp" +// #include "buffer.cpp" +// #include "surface.cpp" + +static void onKey(void *user, uint32_t keycode, uint32_t state) { + if (keycode == 1) { + exit(1); + } + (void)user; + const char *label = state ? "down" : "up "; + printf("key %s: %u\n", label, keycode); + fflush(stdout); +} + +int main(void) { + uint32_t w = 800, h = 480; + UwU::Color fuchsia = UwU::Color(0xb00b6940); + UwU::Color red = UwU::Color(0xff0000ff); + UwU::Color green = UwU::Color(0x00ff00ff); + UwU::Color blue = UwU::Color(0x0000ffff); + UwU::Color alpha = UwU::Color(0x00000000); + printf("r: %u, g:%u, b:%u, a:%u\n", fuchsia.r, fuchsia.g, fuchsia.b, fuchsia.a); + + // struct waymini *wm = waymini_create(w, h, on_key, NULL); + UwU::Draw draw = UwU::Draw(w, h, onKey); + + draw.rainbow(); + + + draw.rectangle(UwU::Coord2(69, 69), UwU::Coord2(420, 420), fuchsia); + draw.rectangleGradient(UwU::Coord2(200, 200), UwU::Coord2(600, 400), red, blue, alpha, red); + + draw.trapezoid(UwU::Trapezoid(300, 400, 360, 380, 600, 480), green); + draw.triangle(280, 100, 240, 290, 320, 300, green); + + + draw.point(UwU::Coord2(387, 43), green); + draw.line(UwU::Coord2(300, 100), UwU::Coord2(250, 469), green); + draw.line(UwU::Coord2(250, 100), UwU::Coord2(300, 469), green); + draw.line(UwU::Coord2(300, 100), UwU::Coord2(469, 250), green); + draw.line(UwU::Coord2(469, 100), UwU::Coord2(300, 250), green); + draw.line(UwU::Coord2(100, 300), UwU::Coord2(250, 469), green); + draw.line(UwU::Coord2(250, 300), UwU::Coord2(100, 469), green); + draw.line(UwU::Coord2(100, 300), UwU::Coord2(469, 250), green); + draw.line(UwU::Coord2(469, 300), UwU::Coord2(100, 250), green); + draw.present(); + + while (!draw.shouldClose()) {} + + draw.destroy(); + return 0; +} diff --git a/libwaymini.a b/libwaymini.a index a5a964ab893fb2a78dffbe4d8d71b78c72b20f20..131cff363df2aa8f50a7b8e229a92ebd4043371e 100644 GIT binary patch delta 5008 zcmZ{odu&tJ9mnsz4#BaLYv<9#Kp+MJgp!9H@}e0|>?Y*8%S74`2uh%=%ThY^k8BGn zT9Iy$6NDAAx;qtPB2puwhlctVk52}H>Y;=NRDpa-GDxmd#=lUG- zjn(|5n{)5ye1DJgyT{kp`6{k{_$xK`LjEd6X_|MOJ)BUr#zyvp=2PAA7qv#!4E6-K z1*3oH={6#F?2&uwzAbIh%SQC>Erl#hr(=oXc4O?5;kEv2NylK!P%jyql0Wnq(c9sP z;pIwO^ro@?@0OaR=4_{MH6qh?n(NyY><{kxmGW^$%l3Y?pvYC$su<(Vmg`u;b+{s4<5;HZ$0<)|^gBkfYS2~I z#zvg0%^UYpDgQNE39a^n^h$!egHK;_m5q>?g5>exZ8!b7z{@lyHgh0~`p2yk9|w!sFbagGFF~jiQiHJ*&*Z9pYQ@1jCrL73j90Fypc5l{s{9y@ z{!fgtlxy^L3*9%yTdd1T_OrY)^9aFoSrfzM?%(i=!_nF3MI-vZLD$`c5xw=9@%q@z zM5rbDCs+8Q)pXbTta9VeH~qhV_ls=fm=QfN?Vk9N>Yqu+8E>Y$ZCL02gfae#RlQ0jb#1lZTkETB@YVV@#ZS9?)SXS_TF(8+_VYg>-94d&bk7l6o9;c771S#t zi`sObw$-6m5DDrYQiODSyHhD5`5xgr$bGlzUhP}D{pWPLpLG}fLiMuy1?$Wqy6&V+ z#BD_u{hB(wr%N-Oic(5x66u`m<-#RT&WijrWf{MH zpMMRr)5n6Fo*opgD;2CzuyPuG?0(@ovscWl5Hl4tJ}+1n?@Um4AJV925nG2&&y9pb z_Yey5_VLKagqELkSm7@ zcc@eG@!}V3IbFheMcldcCH0x1oOBr3kS{4k0eOyOa5vpB&SQehvQ`T|CAe%(gW!oA z_F!4{$}UGbjqK1~F+C)B7W-!Dx!Ms?h3rEK)oLXbTqdm)e99TGTYhwrxk>Ck3aV_N z;{pGOkUa~$68JFiD&Ri>j{0ff>p_1t%}wgHqSU~|4RClA_+7!do6*MWW`aazBk@D^c$&EUXW-N{8{&jPQfYq_$B;F)n=20f3H%Y%?z znA4j|0|6Q6k8>0A_`iVTCb|b47f{VBA>#w;w*XJ;dH>0F!UQ^eA2=o$1&;bj;HZBS zIO^Yf9wyM?ufVZGHx}TZF2KJ6-pI_gC2BQ$b8U&qzqDl6_ld_Emp%skFz{yJuL8%# zoE4n!vu}X@cc2$*EU>!%9ylyzu5~4*58SSS8-Jsb6Z!4(+B8~`Zb`( z7C#1D#4)Y1x*<>t1bP}AFwk?L=iB@M9o+VT9v5~HI4*!?Tc1Y$^`j`QbjTIF3J#d~ zml=us$%orppvT1T0>{LEk#TtbGCE}955WNw-v*9>zLbG7;w)ZFfQ;WVj1vIP zHkd$%0pLM$kos}KdFQ;qkAXe}{0-ob&v7#~0~2j?6RFREv4dg+K=IYv6!^?f_o} z`cD^#W6L2C85U%H{)%8?H3?)vO9baF#e!A>$2XEkAr2PW47?oTx8|h34Xs^@2|B<5 z1N8!51A%r4o>}N^;Ojx}bkGG^7SE6OY{|ok`A<4OaMZsB{3!}3J9irRR^V>|@8&%H z{7a=S!^Adl$P+JZ+zDSTxMfZ(w!&C@@)0_f4g7VQhaOH?KeT&!saNJSH~abOxVtvXecl*x<$o+G|cWP}iWv%GhLGK>N3o z<-3bn^^PKzU0)Y|OiJ1-nQySE|_c#(;JvpOrQR)GpT7)S~vr Vk2hV($@m`yJMCT`KN{Lw@_(V0h(7=T delta 5173 zcmZ{o4{#J$9mjX~@;_lOfk3V#kOQu50wLUmkbvNk(4=h2MK0w}V@;hXnTSOlMuM~h zGY4MyvmW7(4?2#bgThR4=!|Kv3JQb4&`4)$Wk9EnwHT)=($oP*X$u6;-*5N5@XZNt zW_REF{Qm#;ZEiPLU(^4a)DLVa`jw_F9Cy6BXFxX=%@WGDe#szXqG-` zEgIS6v+NIA`g*2mP4+db@{f)YS;U5|1Sv=C8!kzZ?+Bgzq!vj~)EQR%LdA6s5xN}u zh-jML$UDiJjDAlCrD<`R6^-`jFLhGq+=7kvt#hYo!5R4?c28hoi~V-Q-WF(RvEOk$ z*@KjZx3|bc5mH>6TaaaYET<-K?+!6LCt9MBf)(HD)4aX63}@=6=?BS!IUTxLXeAaq z?#R`iXfl;ss@J{YB(cu2xE#y=1D8|5)%v)=U?f4=L=uz=RcH-%S9{BQ$wE}*&+?wU zlS(;e)Wny&4~XaUXZW@f8+p6i)uQ-`38bz4VygIaeo0a2-Lba#uQ#PqDe?3CaM8Wn zsnqpWS}CJrMgiT>9Uq<`%PuRC@n{82EW0=G9lC}Fteq)u?|Tk95;*Ey?^=na4n9Xq z8N;nqRZLed`e#b+G{4(>Da&KTexwY(Vzbou}K@X8aK|m!zd*}0V?j}q5Ck{E4bXjwX zozgb9TRSeCAQywqPE4@kGn#gqT9O*MJl4x`Zq9#F9>1uMyzVVeuh$K8nm5nbT|rcV+Y$ZL}&TwRUOK%{Hq|ztL*u9H;3n7TiJlZqp)MQ4R_hz>CWjr0v-siFQ8=u>iWt=hFmz$lQLfvd{G^555v)wW~jflCv z$=tZid|{cnU2id?-x%sNb5@wqU0KiP4LzA}bmR>+=ab7aI!?$K^J%V`(RlW*ti73i z8PD$X>^HPRVi%`NrMGMf?C)Q1RJk}s3)1`!4xmvO| zZqIVFU+;<=#w&vz+`oQ3ZdilSxY3$7xFUbe;L5n0-5zPfS@GcO5y>!q18joOnN9@(#d@lvj9q8f6K zTu&s+;WS=Ica8Z?$yGYDB-ip>KdL!(lKb;SM``tpekoQRS}(uc$El3_Jdnq%vOm0DPs?DKel%F3OTYy&qw}H+>=X<6S`u2nLW7O(XU{C`FSHJ)}@iFN0)2aeYl3P2ybM=z5SuNXew~*&}V?7 zem8JepZibaMG&CDLEsqRIB?WI3mo--3mo;YEdc=<+yagr^2k3yEUpvY$4X)-oet7^ z(oi=j1iTt}8}Nm|j|2Y{@Uy@dyIlPKv7#83^f#%)yKM>B{tIle(z~F~n?&WDoka^8 zTq*x3DDDORX_v>Gdl&`*CbUv=PACkHJ`4Jo(AR*YpWWbRDfkgt&O`M7kJ0zRfGgWZ z2ag{^0Ick%z%lTz!A}F(t4>@|`WzoCcn=IXa0eYct}6qYW8hoBF>p?{W9IycE~lvq zJW+DKH5@ml1k*u)jzSM{v>5cUfUg5bKYM_Kek^qe1dWjC8OizH`+;8s{bj(f0)GOy zkwXg_TyYZ}s^EabssAj%OczN54%`d|PkZ z0vrSX8v-l`KN-2Spuq*qphNl3m7EKJ z5BOT(e*umO-3CtIa$||=^35T=fN3rlx2q~+$K4l7r;GR-H(09uF)${TOWDk6r7`CP)YvvUiu@1?Ufzs(o<3U!SQ6{fr`m#?}8do1f zuK?#V)p*P0?h8K8)#uVM81PhmF8wEstIwqznE;C&71_VCH13zYX∓H1z@1K2AUh zNrSyh&}pEf6_tW{RPjQDaSkxG=xY2>Qk7{IGGjKzzYFMeJK!EV^rp z)zVyBD1KDy#kJ#QmUCgZa85^s`lKQX_ohY`|hxMD{O#M>*ljPm{OSx(P Pyb$-i(~=)Gt}po?rPs}G diff --git a/waymini b/waymini index 351bb7ab0acb30ba2b51061a2ee7714d7453e8c7..84264c42dd51ce0ebaf5f81cf9f84818acbf0830 100755 GIT binary patch delta 4624 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 delta 4783 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 JGY8Bu{|C|=d3*o> diff --git a/waymini.o b/waymini.o index d469f0a906650768182a2f58d161ada0b030ebfa..52701a6c87777714f4517f9002a704617a0da436 100644 GIT binary patch delta 3599 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