рисование в других процессах окон на macosx? - PullRequest
1 голос
/ 21 декабря 2009

Можно ли рисовать в других процессах окна на MacOSX, используя Какао или другие библиотеки?
Если да, есть ли образцы? В качестве альтернативы, краткое изложение того, что мне нужно сделать?
(мне нужно поддерживать хотя бы OSX 10.5)

Раздельная память, конечно, является возможным решением, но я бы предпочел прямое рисование, чтобы избежать накладных расходов на синхронизацию и дублирования кода (сценарий использования состоит из одного производителя и n клиентов ).

1 Ответ

2 голосов
/ 21 декабря 2009

Это дубликат Mac OS X: может ли один процесс отображаться в окне другого процесса?
Краткий ответ: Если вам нужна только поддержка> = 10.6, вы, вероятно, можете использовать API IOSurface.
Подробности об этом в этом посте: Нужна помощь с IOSurface и OpenGL для приложения max os x snow leopard

Если вы можете предоставить более подробную информацию о том, чего вы пытаетесь достичь, возможно, есть и другие решения. (например, составление элементов, которые вы намереваетесь визуализировать, в изображение из CGWindowListCreateImage )

Изменить:
Мне кажется, что самый простой способ выполнить то, что вы хотите, это использовать какую-то разделяемую память.
Вы можете отобразить данные для визуализации в память с помощью mmap и поделиться кодом чертежа между вашими приложениями.

Edit2: Я только что увидел, что вы хотите избежать общей памяти. Но почему?

...