MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / clip

Method clip

src/SB/Core/x/xFont.cpp:3472–3516  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3470}
3471
3472void basic_rect<F32>::clip(basic_rect<F32>& a, basic_rect<F32>& b) const
3473{
3474 F32 bwaw = b.w / a.w;
3475 F32 bwah = b.h / a.h;
3476
3477 if (a.x < x)
3478 {
3479 F32 xax = x - a.x;
3480 F32 bwawxax = bwaw * xax;
3481 a.x = x;
3482 a.w -= xax;
3483 b.x += bwawxax;
3484 b.w -= bwawxax;
3485 }
3486
3487 if (a.y < y)
3488 {
3489 F32 yay = y - a.y;
3490 F32 bwahyay = bwah * yay;
3491 a.y = y;
3492 a.h -= yay;
3493 b.y += bwahyay;
3494 b.h -= bwahyay;
3495 }
3496
3497 F32 axaw = a.x + a.w;
3498 F32 xw = x + w;
3499
3500 if (axaw > xw)
3501 {
3502 F32 bwawaxawxw = bwaw * (axaw - xw);
3503 b.w -= bwawaxawxw;
3504 a.w = x + w - a.x;
3505 }
3506
3507 F32 ayah = a.y + a.h;
3508 F32 yh = y + h;
3509
3510 if (ayah > yh)
3511 {
3512 F32 bwahayahyh = bwah * (ayah - yh);
3513 b.h -= bwahayahyh;
3514 a.h = y + h - a.y;
3515 }
3516}
3517
3518basic_rect<F32>& basic_rect<F32>::operator|=(const basic_rect<F32>& other)
3519{

Callers 1

tex_renderFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected