Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(226)

Side by Side Diff: plugin/linux/main_linux.cc

Issue 651066: Linux: Implement cursor type NONE. Also ensure fullscreen windows are created... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/o3d/
Patch Set: Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « plugin/cross/o3d_glue.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2009, Google Inc. 2 * Copyright 2009, Google Inc.
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 907 matching lines...) Expand 10 before | Expand all | Expand 10 after
918 // I tested every Linux browser I could that worked with our plugin and not 918 // I tested every Linux browser I could that worked with our plugin and not
919 // a single one lacked XEmbed/Gtk2 support, so I don't think that case is 919 // a single one lacked XEmbed/Gtk2 support, so I don't think that case is
920 // worth implementing. 920 // worth implementing.
921 DLOG(ERROR) << "Fullscreen not supported without XEmbed/Gtk2; please use a " 921 DLOG(ERROR) << "Fullscreen not supported without XEmbed/Gtk2; please use a "
922 "modern web browser"; 922 "modern web browser";
923 return false; 923 return false;
924 } 924 }
925 GtkWidget *widget = gtk_window_new(GTK_WINDOW_TOPLEVEL); 925 GtkWidget *widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
926 // The returned object counts as both a widget and a window. 926 // The returned object counts as both a widget and a window.
927 GtkWindow *window = GTK_WINDOW(widget); 927 GtkWindow *window = GTK_WINDOW(widget);
928 // Ensure that the fullscreen window is displayed on the same screen as the
929 // embedded window.
930 GdkScreen *screen = gtk_window_get_screen(GTK_WINDOW(gtk_container_));
931 gtk_window_set_screen(window, screen);
928 // The window title shouldn't normally be visible, but the user will see it 932 // The window title shouldn't normally be visible, but the user will see it
929 // if they Alt+Tab to another app. 933 // if they Alt+Tab to another app.
930 gtk_window_set_title(window, "O3D Application"); 934 gtk_window_set_title(window, "O3D Application");
931 // Suppresses the title bar, resize controls, etc. 935 // Suppresses the title bar, resize controls, etc.
932 gtk_window_set_decorated(window, FALSE); 936 gtk_window_set_decorated(window, FALSE);
933 // Stops Gtk from writing an off-screen buffer to the display, which conflicts 937 // Stops Gtk from writing an off-screen buffer to the display, which conflicts
934 // with our GL rendering. 938 // with our GL rendering.
935 gtk_widget_set_double_buffered(widget, FALSE); 939 gtk_widget_set_double_buffered(widget, FALSE);
936 gtk_window_set_keep_above(window, TRUE); 940 gtk_window_set_keep_above(window, TRUE);
937 GdkScreen *screen = gtk_window_get_screen(window);
938 // In the case of Xinerama or TwinView, these will be the dimensions of the 941 // In the case of Xinerama or TwinView, these will be the dimensions of the
939 // whole desktop, which is wrong, but the window manager is smart enough to 942 // whole desktop, which is wrong, but the window manager is smart enough to
940 // restrict our size to that of the main screen. 943 // restrict our size to that of the main screen.
941 gint width = gdk_screen_get_width(screen); 944 gint width = gdk_screen_get_width(screen);
942 gint height = gdk_screen_get_height(screen); 945 gint height = gdk_screen_get_height(screen);
943 gtk_window_set_default_size(window, width, height); 946 gtk_window_set_default_size(window, width, height);
944 // This is probably superfluous since we have already set an appropriate 947 // This is probably superfluous since we have already set an appropriate
945 // size, but let's do it anyway. It could still be relevant for some window 948 // size, but let's do it anyway. It could still be relevant for some window
946 // managers. 949 // managers.
947 gtk_window_fullscreen(window); 950 gtk_window_fullscreen(window);
(...skipping 25 matching lines...) Expand all
973 client()->SendResizeEvent(renderer()->width(), renderer()->height(), 976 client()->SendResizeEvent(renderer()->width(), renderer()->height(),
974 false); 977 false);
975 SetGtkEventSource(gtk_container_); 978 SetGtkEventSource(gtk_container_);
976 gtk_widget_destroy(gtk_fullscreen_container_); 979 gtk_widget_destroy(gtk_fullscreen_container_);
977 gtk_fullscreen_container_ = NULL; 980 gtk_fullscreen_container_ = NULL;
978 fullscreen_window_ = 0; 981 fullscreen_window_ = 0;
979 fullscreen_ = false; 982 fullscreen_ = false;
980 } 983 }
981 } // namespace _o3d 984 } // namespace _o3d
982 } // namespace glue 985 } // namespace glue
OLDNEW
« no previous file with comments | « plugin/cross/o3d_glue.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698