mdraw_coor...s_position(3m17n)

πŸ“¦
version 1.8.4 Β· 2 versions
, in debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ¦‹ mdraw_coordinates_position β€” the 3m17n glow-up ✨

okay bestie, we're in the m17n library manual, and this page is short but it's giving very specific energy. let's get into it πŸ’…


🌸 NAME 🌸

mdraw_coordinates_position β€” (yes the description is literally empty in the original, iconic of her tbh πŸ™ˆ)


✨ SYNOPSIS ✨

int mdraw_coordinates_position (MFrame * frame, MText * mt, int from,
       int to, int x_offset, int y_offset, MDrawControl * control)

πŸ’– DESCRIPTION πŸ’–

so what she does is: she returns the character position nearest to the coordinates. periodt.

the mdraw_coordinates_position() function checks which character is to be drawn at coordinate (x, y) when the text between from and to of M-text mt is drawn at the coordinate (0, 0) using the mdraw_text_with_control() function with the drawing control object control. πŸŽ€

and like, "character position" here means the number of characters that precede the character in question in mt β€” that is, the character position of the first character is 0. so it's zero-indexed, no cap 🫢

frame is used only to get the default face information. that's it. that's her whole job in this function. slay, lowkey πŸ¦‹


πŸ‘‘ RETURN VALUE πŸ‘‘

okay so this is where it gets ✨specific✨, so listen up:

  • If the glyph image of a character covers coordinate (x, y), mdraw_coordinates_position() returns the character position of that character. πŸ’«
  • If y is less than the minimum Y-coordinate of the drawn area, it returns from.
  • If y is greater than the maximum Y-coordinate of the drawn area, it returns to.
  • If y fits in with the drawn area but x is less than the minimum X-coordinate, it returns the character position of the first character drawn on the line y.
  • If y fits in with the drawn area but x is greater than the maximum X-coordinate, it returns the character position of the last character drawn on the line y.
ngl bestie, the "did it land on a glyph or did it fall off the edge of the world" logic is doing a LOT of heavy lifting here. know your boundaries, know yourself πŸ’€

Copyright (C) 2001 Information-technology Promotion Agency (IPA)

Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology (AIST)

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License <http://www.gnu.org/licenses/fdl.html>.


and that's the whole page, bestie!! πŸ₯³ this is Version 1.8.4, dated Mon Sep 25 2023, from the m17n manual β€” so if you're reading this, you're basically holding a little time capsule from 2023. go forth and position those coordinates, main character πŸ’…πŸŒΈβœ¨

πŸ“¦ where this page comes from