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

Unified Diff: views/controls/resize_gripper.cc

Issue 3052011: Make the resize gripper invisible.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « views/controls/resize_gripper.h ('k') | views/views.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: views/controls/resize_gripper.cc
===================================================================
--- views/controls/resize_gripper.cc (revision 53545)
+++ views/controls/resize_gripper.cc (working copy)
@@ -1,123 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "views/controls/resize_gripper.h"
-
-#include "app/resource_bundle.h"
-#include "base/logging.h"
-#include "grit/app_resources.h"
-
-namespace views {
-
-const char ResizeGripper::kViewClassName[] = "views/ResizeGripper";
-
-#if defined(OS_WIN)
-static HCURSOR g_resize_cursor = NULL;
-#endif
-
-////////////////////////////////////////////////////////////////////////////////
-// ResizeGripper
-
-ResizeGripper::ResizeGripper(ResizeGripperDelegate* delegate)
- : delegate_(delegate),
- initial_position_(0),
- gripper_visible_(false) {
- ResourceBundle &rb = ResourceBundle::GetSharedInstance();
- SkBitmap* gripper_image = rb.GetBitmapNamed(IDR_RESIZE_GRIPPER);
- // Explicitly set the image size so that the preferred size is fixed to that
- // of the image. If we didn't do this the preferred size would change
- // depending upon whether the gripper was visible.
- SetImageSize(gfx::Size(gripper_image->width(), gripper_image->height()));
-}
-
-ResizeGripper::~ResizeGripper() {
-}
-
-std::string ResizeGripper::GetClassName() const {
- return kViewClassName;
-}
-
-gfx::NativeCursor ResizeGripper::GetCursorForPoint(Event::EventType event_type,
- const gfx::Point& p) {
- if (!enabled_)
- return NULL;
-#if defined(OS_WIN)
- if (!g_resize_cursor)
- g_resize_cursor = LoadCursor(NULL, IDC_SIZEWE);
- return g_resize_cursor;
-#elif defined(OS_LINUX)
- return gdk_cursor_new(GDK_SB_H_DOUBLE_ARROW);
-#endif
-}
-
-void ResizeGripper::OnMouseEntered(const views::MouseEvent& event) {
- SetGripperVisible(true);
-}
-
-void ResizeGripper::OnMouseExited(const views::MouseEvent& event) {
- SetGripperVisible(false);
-}
-
-bool ResizeGripper::OnMousePressed(const views::MouseEvent& event) {
- if (!event.IsOnlyLeftMouseButton())
- return false;
-
- // The resize gripper obviously will move once you start dragging so we need
- // to convert coordinates to screen coordinates so that we don't loose our
- // bearings.
- gfx::Point point(event.x(), 0);
- View::ConvertPointToScreen(this, &point);
- initial_position_ = point.x();
-
- return true;
-}
-
-bool ResizeGripper::OnMouseDragged(const views::MouseEvent& event) {
- if (!event.IsLeftMouseButton())
- return false;
-
- ReportResizeAmount(event.x(), false);
- return true;
-}
-
-void ResizeGripper::OnMouseReleased(const views::MouseEvent& event,
- bool canceled) {
- if (canceled)
- ReportResizeAmount(initial_position_, true);
- else
- ReportResizeAmount(event.x(), true);
- SetGripperVisible(HitTest(event.location()));
-}
-
-bool ResizeGripper::GetAccessibleRole(AccessibilityTypes::Role* role) {
- DCHECK(role);
- *role = AccessibilityTypes::ROLE_SEPARATOR;
- return true;
-}
-
-void ResizeGripper::ReportResizeAmount(int resize_amount, bool last_update) {
- gfx::Point point(resize_amount, 0);
- View::ConvertPointToScreen(this, &point);
- resize_amount = point.x() - initial_position_;
-
- if (base::i18n::IsRTL())
- resize_amount = -1 * resize_amount;
- delegate_->OnResize(resize_amount, last_update);
-}
-
-void ResizeGripper::SetGripperVisible(bool visible) {
- if (visible == gripper_visible_)
- return;
-
- gripper_visible_ = visible;
- if (gripper_visible_) {
- ResourceBundle& rb = ResourceBundle::GetSharedInstance();
- SkBitmap* gripper_image = rb.GetBitmapNamed(IDR_RESIZE_GRIPPER);
- SetImage(gripper_image);
- } else {
- SetImage(NULL);
- }
-}
-
-} // namespace views
« no previous file with comments | « views/controls/resize_gripper.h ('k') | views/views.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698