ID:2475502
 
Redundant
Applies to:
Status: Redundant

This feature has already been implemented, or is already achievable with existing methods.
by default the anchor point for scaling and rotation is the center of the icon. it would be nice if you could anchor it elsewhere instead, such as the bottom left corner.
Lummox JR resolved issue (Redundant)
You can do this simply by translating, doing the operation, then translating back.

proc/AnchorTranslation(matrix/M, x, y)
return matrix(-x,-y,MATRIX_TRANSLATE) * M * matrix(x,y,MATRIX_TRANSLATE)

Alternatively, if you want to get into the gritty math of it:

proc/AnchorTranslation(matrix/M, x, y)
var/matrix/result = new(M)
result.c += x*(1-M.a) - y*M.b
result.f += y*(1-M.e) - x*M.d
return result

Follow-up question: I closed this as redundant thinking it was referring to atom.transform, but were you talking about the icon editor? Not that I'm sure how I'd do this there, but it's a different matter entirely if it's not an atom.transform thing.
It was in reference to atom.transform- and though you can technically do it now having it built in would be a good feature.