Object MethodTouch and Actions

Point.scale(x, y, edges?)

Point.scale(x, y, edges) maps a point in macro coordinates to the device screen and returns a Point anchored to the given edges, or nil when mapping fails. On a Point object, point:scale(factor) multiplies its coordinates by the factor instead.

Documented for app version 1.0.51Updated:

Detailed Explanation

This section explains when to use the API, how to call it, and which structures it works best with in production flow.

How To Call It

This is a function of the Point factory table itself: call it with a dot (Point.<method>(...)); no Point object is needed. An object method with the same name also exists: point:scale(...).

When To Use It

In automation flow, chain actions with short wait() intervals and use requestStop() or controlled retry on failure paths.

Parameters and Return

Required: x, y. Optional: edges (omit to pass nil and use the runtime default). Returns a Point object, or nil.

Best Combined With

It works best together with wait(), Point, SwipeParam, ClickParam, and sometimes a Region result.

Example Usage

The snippet below is a starter pattern that can be applied directly in runtime flow.

local button = Point.scale(980, 120, RIGHT + TOP)
if button then quickTap(button) end

Copyable Progressive Examples

From foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.

Foundation

Shows the shortest direct way to call the API.

Foundation
local button = Point.scale(980, 120, RIGHT + TOP)
if button then quickTap(button) end

Simple

Wraps the base call with minimal flow control.

Simple
local stepOk = true
local button = Point.scale(980, 120, RIGHT + TOP)
if button then quickTap(button) end
if stepOk then
  wait(200)
end

Practical Flow

A practical pattern for real macros with pcall, logging, and guards.

Practical Flow
local ok, err = pcall(function()
  local button = Point.scale(980, 120, RIGHT + TOP)
  if button then quickTap(button) end
end)

if not ok then
  print("API step failed: Point.scale: " .. tostring(err))
  requestStop()
end

Detailed

This level packages the API into a reusable helper with error reporting.

Detailed
-- In automation flow, chain actions with short wait() intervals and use requestStop() or controlled retry on failure paths.
local function run_scale_step()
  local button = Point.scale(980, 120, RIGHT + TOP)
  if button then quickTap(button) end
end

local ok, err = pcall(run_scale_step)
if not ok then
  toast("Step failed")
  print(err)
end

Combined

Combines the API with related structures to form a more realistic workflow.

Combined
local target = Point(540, 960)
quickTap(target)
wait(250)
local button = Point.scale(980, 120, RIGHT + TOP)
if button then quickTap(button) end
wait(250)
print("Automation chain completed")