parent
e3bad233e9
commit
335cd79b37
1 changed files with 27 additions and 7 deletions
|
@ -2,21 +2,41 @@
|
|||
// Use of this source code is governed by the MIT license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "atom/browser/browser.h"
|
||||
#include "atom/common/native_mate_converters/gfx_converter.h"
|
||||
#include "atom/common/node_includes.h"
|
||||
|
||||
namespace {
|
||||
|
||||
const char* kRequireAppReadyMessage =
|
||||
"APIs of \"screen\" module can only be used after the \"ready\" event of "
|
||||
"\"app\" module gets emitted.";
|
||||
|
||||
gfx::Point GetCursorScreenPoint(mate::Arguments* args) {
|
||||
if (!atom::Browser::Get()->is_ready()) {
|
||||
args->ThrowError(kRequireAppReadyMessage);
|
||||
return gfx::Point();
|
||||
}
|
||||
|
||||
gfx::Screen* screen = gfx::Screen::GetNativeScreen();
|
||||
return screen->GetCursorScreenPoint();
|
||||
}
|
||||
|
||||
gfx::Display GetPrimaryDisplay(mate::Arguments* args) {
|
||||
if (!atom::Browser::Get()->is_ready()) {
|
||||
args->ThrowError(kRequireAppReadyMessage);
|
||||
return gfx::Display();
|
||||
}
|
||||
|
||||
gfx::Screen* screen = gfx::Screen::GetNativeScreen();
|
||||
return screen->GetPrimaryDisplay();
|
||||
}
|
||||
|
||||
void Initialize(v8::Handle<v8::Object> exports, v8::Handle<v8::Value> unused,
|
||||
v8::Handle<v8::Context> context, void* priv) {
|
||||
gfx::Screen* screen = gfx::Screen::GetNativeScreen();
|
||||
mate::Dictionary dict(context->GetIsolate(), exports);
|
||||
dict.SetMethod("getCursorScreenPoint",
|
||||
base::Bind(&gfx::Screen::GetCursorScreenPoint,
|
||||
base::Unretained(screen)));
|
||||
dict.SetMethod("getPrimaryDisplay",
|
||||
base::Bind(&gfx::Screen::GetPrimaryDisplay,
|
||||
base::Unretained(screen)));
|
||||
dict.SetMethod("getCursorScreenPoint", &GetCursorScreenPoint);
|
||||
dict.SetMethod("getPrimaryDisplay", &GetPrimaryDisplay);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
Loading…
Reference in a new issue