364 365 class WindowContextTop: public WindowContextBase { 366 jlong screen; 367 WindowFrameType frame_type; 368 struct WindowContext *owner; 369 WindowGeometry geometry; 370 struct _Resizable{// we can't use set/get gtk_window_resizable function 371 _Resizable(): request(REQUEST_NONE), value(true), prev(false), 372 minw(-1), minh(-1), maxw(-1), maxh(-1){} 373 request_type request; //request for future setResizable 374 bool value; //actual value of resizable for a window 375 bool prev; //former resizable value (used in setEnabled for parents of modal window) 376 int minw, minh, maxw, maxh; //minimum and maximum window width/height; 377 } resizable; 378 379 bool frame_extents_initialized; 380 bool map_received; 381 bool location_assigned; 382 bool size_assigned; 383 bool on_top; 384 public: 385 WindowContextTop(jobject, WindowContext*, long, WindowFrameType, WindowType, GdkWMFunction); 386 void process_map(); 387 void process_property_notify(GdkEventProperty*); 388 void process_configure(GdkEventConfigure*); 389 void process_destroy(); 390 void process_net_wm_property(); 391 392 WindowFrameExtents get_frame_extents(); 393 394 void set_minimized(bool); 395 void set_maximized(bool); 396 void set_bounds(int, int, bool, bool, int, int, int, int); 397 void set_resizable(bool); 398 void request_focus(); 399 void set_focusable(bool); 400 void set_title(const char*); 401 void set_alpha(double); 402 void set_enabled(bool); 403 void set_minimum_size(int, int); | 364 365 class WindowContextTop: public WindowContextBase { 366 jlong screen; 367 WindowFrameType frame_type; 368 struct WindowContext *owner; 369 WindowGeometry geometry; 370 struct _Resizable{// we can't use set/get gtk_window_resizable function 371 _Resizable(): request(REQUEST_NONE), value(true), prev(false), 372 minw(-1), minh(-1), maxw(-1), maxh(-1){} 373 request_type request; //request for future setResizable 374 bool value; //actual value of resizable for a window 375 bool prev; //former resizable value (used in setEnabled for parents of modal window) 376 int minw, minh, maxw, maxh; //minimum and maximum window width/height; 377 } resizable; 378 379 bool frame_extents_initialized; 380 bool map_received; 381 bool location_assigned; 382 bool size_assigned; 383 bool on_top; 384 385 struct _Size { 386 int width, height; 387 int client_width, client_height; 388 } requested_bounds; 389 390 bool is_null_extents() { 391 return !geometry.extents.top 392 && !geometry.extents.left 393 && !geometry.extents.bottom 394 && !geometry.extents.right; 395 } 396 public: 397 WindowContextTop(jobject, WindowContext*, long, WindowFrameType, WindowType, GdkWMFunction); 398 void process_map(); 399 void process_property_notify(GdkEventProperty*); 400 void process_configure(GdkEventConfigure*); 401 void process_destroy(); 402 void process_net_wm_property(); 403 404 WindowFrameExtents get_frame_extents(); 405 406 void set_minimized(bool); 407 void set_maximized(bool); 408 void set_bounds(int, int, bool, bool, int, int, int, int); 409 void set_resizable(bool); 410 void request_focus(); 411 void set_focusable(bool); 412 void set_title(const char*); 413 void set_alpha(double); 414 void set_enabled(bool); 415 void set_minimum_size(int, int); |