// BACKSTORY
Я написал небольшой исполняемый файл Carbon, который перемещал окна моего приложения при нажатии определенной клавиши.
Затем я добавил код, который изменял размеры окна при перетаскивании мышью, но он никогда не был таким гладким, как захват угла окна и изменение размера таким образом, несмотря на то, что он был скомпилированным исполняемым файлом. Я удостоверился, что отключил анимацию изменения размера, и она все еще не была такой гладкой, как перетаскивание в угол.
// ЦЕЛЬ
В угле или какао, есть ли способ, которым я могу плавно изменять размеры окон с той же производительностью, что и при перетаскивании в угол? Если я могу подделать операцию перетаскивания в угол, это тоже хорошо. Я пытался найти в документах событие перетаскивания, но не смог найти ничего подходящего.
// КОД
Код написан на Carbon, который, как я знаю, устарел, просто я расширил файл, который нашел в Интернете.
Я использую CGEventTapCreate для захвата ввода и AXUIElementCreateApplication для захвата самого переднего окна.
Я вычисляю размеры окна, которое хочу, затем применяю его, используя код ниже:
temp = AXValueCreate(kAXValueCGSizeType, &windowSize);
AXUIElementSetAttributeValue(frontMostWindow, kAXSizeAttribute, temp);
CFRelease(temp);