Client

From Our World of Text Wiki
Revision as of 18:34, 17 May 2023 by Owot (talk | contribs)

w Namespace

  • doGoToCoord(y: number, x: number)
    • Jump to a specific location. Coordinates are based on "Show coordinates" values.
  • typeChar(char: string, doNotMoveCursor: boolean, color: number, noNewline: boolean, undoCursorOffset: boolean, bgColor: number)
    • Write a character where the text cursor is.
  • getChar(tileX: number, tileY: number, charX: number, charY: number)
    • Retrieve the text content of a character where the text cursor is.
  • moveCursor(direction: string, preserveVertPos, amount: number)
    • Move the text cursor in any direction ("up", "down", "left", "right").
  • fetchUnloadedTiles()
    • Fetch tiles in viewport that have not been loaded from the server. This is already called 3 times per second.
  • getTileVisibility()
    • Retrieve detailed viewport information.
  • getCenterCoords(): Array[number, number]
    • Get "Show coordinates" coordinates from the center of the screen.
  • broadcastReceive(force: boolean)
    • Opt-in to receiving raw user messages.
  • broadcastCommand(data: string, includeUsername: boolean)
    • Send a raw user message to all clients that have opted in.
  • jquery(callback: function)
    • Load the jQuery library from the official CDN (version 1.7).
  • redraw()
    • Re-render all text content from scratch immediately.
  • reloadRenderer()
    • Perform a full refresh of the renderer by invalidating the cache and resetting all of its internals.
  • setRedraw()
    • Schedule a redraw on the next frame.
  • setTileRedraw(tileX: number, tileY: number)
    • Schedule a redraw of a specific tile on the next frame.
  • setTileRender(tileX: number, tileY: number)
    • Schedule a re-plotting of a specific tile from cache to the screen on the next frame.
  • setTransparency(transparent: boolean)
    • Make internal canvas use 'alpha' mode, subsequently requiring only one rendering pass per tile and may make text use subpixel rendering.
  • render(redraw: boolean)
    • Plot all visible tiles from cache to the screen.
  • changeFont(fontData: string, noReload)
    • Change default global font.
  • fixFonts(mainType: string)
    • Load important fonts that aren't supported by the system.
  • loadFont(name: string, path: string, callback: function)
    • Load a specific font from URL.
  • changeSpecialCharFont(fontData: string, noReload: boolean)
    • Change the default font for special characters. This may include cells with combining characters.
  • enableCombining(noReload: boolean)
    • Make combining characters visible.
  • disableCombining(noReload: boolean)
    • Don't make combining characters visible.
  • enableSurrogates(noReload: boolean)
    • Make surrogate characters visible. Includes emoji characters.
  • disableSurrogates(noReload: boolean)
    • Don't make surrogate characters visible.
  • enableColors(noReload: boolean)
    • Render all text with colors.
  • disableColors(noReload: boolean)
    • Don't render all text with colors.
  • basic()
    • Disable colors, combining characters, and surrogate characters.
  • restore()
    • Re-enable colors, combining characters, and surrogate characters.
  • night(ignoreUnloadedPattern: boolean)
    • Enable night mode.
  • day(reloadStyle: boolean)
    • Disable night mode. Restore the original styles.
  • rotate(speed: number)
    • Unused 3D demo.
  • hideChat()
    • Hide the chat button.
  • showChat()
    • Show the chat button.
  • disableDragging()
    • Prevent the canvas from being draggable.
  • enableDragging()
    • Allow the canvas to be draggable.
  • disableCursor()
    • Disable the cursor. Cells cannot be selected and written to.
  • enableCursor()
    • Re-enable the cursor.
  • disableScrolling()
    • Prevent the user from using the scroll wheel to navigate.
  • enableScrolling()
    • Re-enable the scroll wheel.
  • setMouseCursor(cursor: string)
    • Set the default mouse cursor.
  • resetMouseCursor()
    • Reset the mouse cursor to the default setting.
  • setDragCursor(cursor: string)
    • Set the mouse cursor when dragging the canvas.
  • resetDragCursor()
    • Reset the mouse cursor when dragging the canvas.
  • changeSocket(address: string)
    • Change the client's socket address to another specified address.
  • changeColor(color: string)
    • Change the client's current text color.
  • changeBgColor(color: string)
    • Change the client's current cell background color.
  • fetchUpdates(margin: number)
    • Fetch new updates regardless of tiles that have been loaded.
  • splitTile(str: string): string
    • Split a string accounting for grapheme clusters (limited to surrogates and most combining characters).
  • shiftZoombar()
    • Shift the zoom bar on menu to the bottom when new options are added.
  • setFlushInterval(rate: number)
    • Change the interval at which writes are uploaded to the server.
  • registerHook(event: string, callback: function)
    • Allow specific client processes to be modified precisely. Limited to char rendering at the moment.

RegionSelection

  • Constructor: RegionSelection
  • Properties
    • charColor: string
    • color: string
    • tiled: boolean
  • Methods
    • onselection
      • coordA: Array[number, number, number, number]
      • coordB: Array[number, number, number, number]
      • regWidth: number
      • regHeight: number
    • startSelection
    • stopSelectionUI

Code example:

var selection = new RegionSelection();
this.charColor = "#00AA00";
this.color = "rgba(0, 0, 255, 0.1)";
this.tiled = false;
selection.onselection(function(coordA, coordB, regWidth, regHeight) {
    console.log(coordA, coordB, regWidth, regHeight);
});
w.on("keyDown", function(e) {
	if(checkKeyPress(e, "ALT+H")) {
		selection.startSelection();
	}
});