Tôi làm việc trên các cửa sổ nhưng tôi bị kẹt ở đây trên Mac. Tôi có Canon SDK và đã xây dựng một wrapper JNA
trên nó. Nó hoạt động tốt trên các cửa sổ và cần trợ giúp với Mac. Trong sdk, có một chức năng mà người ta có thể đăng ký một chức năng gọi lại. Về cơ bản khi một sự kiện xảy ra trong máy ảnh, nó gọi hàm gọi lại.Nhận sự kiện từ OS
Trên cửa sổ, sau khi đăng ký, tôi cần phải sử dụng User32
để có được sự kiện này và để gửi sự kiện này bằng cách:
private static final User32 lib = User32.INSTANCE;
boolean hasMessage = lib.PeekMessage(msg, null, 0, 0, 1); // peek and remove
if(hasMessage){
lib.TranslateMessage(msg);
lib.DispatchMessage(msg); //message gets dispatched and hence the callback function is called
}
Trong api, tôi không tìm thấy một lớp học tương tự trong Mac. Làm thế nào để tôi đi về cái này ??
PS: JNA
api cho unix là mở rộng và tôi không thể tìm ra điều cần tìm. reference có thể giúp
Bạn có thể sẽ muốn kiểm tra GCEventRef, https://developer.apple.com/library/mac/documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference .html –
Hầu hết các ánh xạ nền tảng của JNA cho unix là dành cho X11 và không có nhiều đặc trưng cho OS X. [Rococoa] (http://code.google.com/p/rococoa/) có nhiều tính năng hơn bằng cách của ánh xạ OS X. – technomage
@technomage Tôi không thể chuyển sang Rococoa vì sau đó tôi sẽ phải viết lại mã. Windows đã hoạt động tốt. Tôi chỉ cần một số kỹ thuật để nhận được thông báo – Jatin