// Cinder and GestureWorks functions class InteractiveBitmapsApp : public AppNative { public: TouchObject logo1_dimensions; TouchObject logo2_dimensions; gl::Texture logo; int screen_width; int screen_height; bool use_pixels; std::pair normScreenToWindowPx(float screen_x, float screen_y); void prepareSettings(Settings *settings); void setup(); void update(); void draw(); private: // helper functions float radsToDegrees(float rad); float degreesToRads(float deg); bool test_point(float point_x, float point_y, float box_x, float box_y, float box_width, float box_height, float box_angle, float box_scale); float rotateAboutCenterX(float point_x, float point_y, float center_x, float center_y, float ref_angle); float rotateAboutCenterY(float point_x, float point_y, float center_x, float center_y, float ref_angle); float getDrawingCoordX(float width, float height, float box_x, float box_y, float box_angle, float box_scale); float getDrawingCoordY(float width, float height, float box_x, float box_y, float box_angle, float box_scale); };