Я хотел бы использовать c ++ для создания приложения, которое использует новую сенсорную панель MacBook Pro. Однако я не могу найти действительно хорошие ресурсы. И у Apple нет документов по использованию c ++ для программирования сенсорной панели.
я нашел этот статья на C ++ и сенсорная панель, однако я не могу найти ни один из заголовочных файлов для скрипта GLFW/glfw3.h
а также GLFW/glfw3native.h
, Они оба кажутся важными для работы скрипта.
Даже если скрипт вышеупомянутой статьи работает, нет официальный Документы для программирования сенсорной панели с C ++ (что я знаю). Я думаю, что это важно, учитывая тот факт, что многие, если не большинство приложений, написаны на c / c ++.
Заранее спасибо за помощь!
Таким образом, статья, на которую вы ссылаетесь, в принципе не нуждается в GLFW/glfw3.h
а также GLFW/glfw3native.h
файлы, если вы не используете GLFW.
Какую структуру пользовательского интерфейса вы используете для своего приложения C ++?
Если он все еще не использует Carbon, на самом низком уровне фреймворк будет создавать NSWindows, чтобы фактически иметь окна в пользовательском интерфейсе. Вам необходимо получить доступ к NSWindow, используемому вашей средой для размещения в нем пользовательского интерфейса. Если он все еще использует Carbon, я думаю, вы, вероятно, не сможете этого добиться.
Если среда предоставляет некоторый механизм для получения собственного окна платформы (которое будет NSWindow), вы бы заменили вызов автора на glfwGetCocoaWindow(window);
с правильным вызовом из ваших рамок.
Если инфраструктура не предоставляет доступ к NSWindow, вам нужно будет использовать код, закомментированный в нижней части статьи, чтобы прикрепить вашу сенсорную панель к окнам в вашем приложении.
Обратите внимание, что весь этот код является кодом Obj-C; вам понадобится хотя бы один .m
или же .mm
файл в вашем проекте, чтобы предоставить этот клейкий код Obj-C, чтобы получить доступ к сенсорной панели. По сути, этот код является C-вызываемой оболочкой для API-интерфейса Cocoa.
Также обратите внимание, что вам нужно будет расширить список кнопок и действий для всех различных вещей, которые вы хотите поместить на сенсорной панели. Вы можете добавить свой собственный API-интерфейс, чтобы создание панели инструментов выполнялось из C ++ и регистрировало действия, которые вызывают обратный вызов в вашем приложении C ++ для обработки событий.
В принципе, сенсорная панель недоступна ни на какой другой платформе, поэтому нет смысла пытаться избегать написания Obj-C для реализации сенсорной панели, так как этот код в любом случае будет работать только на macOS. Если вы используете .mm
файлы для реализации Obj-C ++ для этого кода, вы все равно можете вызывать объекты C ++ из кода сенсорной панели.
Других решений пока нет …