tomosu 9cb984
#include <iostream></iostream>
tomosu 9cb984
#include "mousedragfilter.h"
tomosu 9cb984
#import <appkit appkit.h=""></appkit>
tomosu 9cb984
#import <coregraphics coregraphics.h=""></coregraphics>
tomosu 9cb984
tomosu 9cb984
tomosu 9cb984
bool IsLeftMouseDown(void *message){
tomosu 9cb984
  NSEvent * event = (NSEvent*)message;
tomosu 9cb984
  if([event type] == NSLeftMouseDown){
tomosu 9cb984
    return true;
tomosu 9cb984
  }
tomosu 9cb984
  return false;
tomosu 9cb984
}
tomosu 9cb984
tomosu 9cb984
tomosu 9cb984
bool IsLeftMouseUp(void *message){
tomosu 9cb984
  NSEvent * event = (NSEvent*)message;
tomosu 9cb984
  if([event type] == NSLeftMouseUp){
tomosu 9cb984
    return true;
tomosu 9cb984
  }
tomosu 9cb984
  return false;
tomosu 9cb984
}
tomosu 9cb984
tomosu 9cb984
tomosu 9cb984
bool IsLeftMouseDragged(void *message){
tomosu 9cb984
  NSEvent * event = (NSEvent*)message;
tomosu 9cb984
  if([event type] == NSLeftMouseDragged){
tomosu 9cb984
    return true;
tomosu 9cb984
  }
tomosu 9cb984
  return false;
tomosu 9cb984
}
tomosu 9cb984
tomosu 9cb984
tomosu 9cb984
void MonitorNSMouseEvent(void *message){
tomosu 9cb984
  NSEvent * event = (NSEvent*)message;
tomosu 9cb984
  switch ([event type]) {
tomosu 9cb984
  case NSLeftMouseDown:
tomosu 9cb984
    std::cout << "Lv" << std::endl; break;
tomosu 9cb984
  case NSLeftMouseUp:
tomosu 9cb984
    std::cout << "L^" << std::endl; break;
tomosu 9cb984
  case NSRightMouseDown:
tomosu 9cb984
    std::cout << "Rv" << std::endl; break;
tomosu 9cb984
  case NSRightMouseUp:
tomosu 9cb984
    std::cout << "R^" << std::endl; break;
tomosu 9cb984
  case NSOtherMouseDown:
tomosu 9cb984
    std::cout << [event buttonNumber] << "v" << std::endl; break;
tomosu 9cb984
  case NSOtherMouseUp:
tomosu 9cb984
    std::cout << [event buttonNumber] << "^" << std::endl; break;
tomosu 9cb984
  default:
tomosu 9cb984
    break;
tomosu 9cb984
  }
tomosu 9cb984
}
tomosu 9cb984
tomosu 9cb984
tomosu 9cb984
void SendLeftMousePressEvent(){
tomosu 9cb984
  CGEventRef event = CGEventCreate(NULL);
tomosu 9cb984
  CGPoint location = CGEventGetLocation(event);
tomosu 9cb984
  CFRelease(event);
tomosu 9cb984
  CGEventRef mouseDown = CGEventCreateMouseEvent(NULL, kCGEventLeftMouseDown, location, kCGMouseButtonLeft);
tomosu 9cb984
  CGEventPost(kCGHIDEventTap, mouseDown);
tomosu 9cb984
}