DisplayMBString2

From WikiPrizm
Revision as of 14:11, 8 March 2013 by Balping (talk | contribs) (Created page with "{{syscall | name = DisplayMBString2 | signature = <code>''void'' '''DisplayMBString2'''(''int'' '''select''', ''unsigned char*'' '''str''', ''int'' '''start''', ''int'' '''xpo...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search


Synopsis

Header: display_syscalls.h
Syscall index: 0x1218
Function signature: void DisplayMBString2(int select, unsigned char* str, int start, int xpos, int sel_start, int x, int y, int pos_to_clear, int right_margin, int key)

Displays a line of text containing multi-byte characters.

Parameters

  • int select - 1 if a part of the string is selected, 0 if not
  • unsigned char* str - Multi-byte string to display
  • int start - The position in bytes of the first character to display in str
  • int xpos - The absolute position of the cursor in bytes. If select==1 it also means one of the ends of the selection.
  • int sel_start - The other start/end of the selection. Absolute position in bytes
  • int x - The horizontal position of the first displayed character. It's like in PrintXY
  • int y - The vertical position of the top of the displayed text in pixels. 0px is under the header line.
  • int pos_to_clear - Printing blocks at this position if the screen. For example if pos_to_clear==5, characters won't be displayed after the fifth column.
  • int right_margin characters (not bytes!) will be cut from the right of the string, fewer characters will be displayed. It has the same effect as you decreased pos_to_clear by this number. Actually this parameter is not usable to anything.
  • int key - The exact function of this parameter is unknown. It must be a keycode, the syscall has different behaviour in the case key<30000 than 30000<=key (In the first case the blinking cursor stays at its position, but in the second case, it disappears after a keypress)

Example

DisplayMBString2(1, "(this text is not important)Hello World!-\xE5\x58(not important)", 28, 34, 40, 5, 50, 18, 2, 30000-1);

This code displays Hello World! in the centre of the screen.