Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Win per monitor method gtk testing #11

Closed
wants to merge 35 commits into from

Conversation

Noitidart
Copy link
Owner

Cross platform, working on OSX too now. It's window per monitor. Outstanding issue is, i only witnessed this so far on Windows, but the canvas drawn for other monitor is bigger then its supposed to be.

The selection process here is pure canvas, increasing perf immensely.

* Added method 1 for GTK to get monitor information its not working its
giving 0 monitors, it was per
http://stackoverflow.com/a/23608025/5062337 and i asked there if
gtk.getWindow is not gdk_default_root_window
to test
put in x11 jsm, hooked it up but didnt test for getAllMon

hooked up winnt get all mon, tested, works good
needed parseInt's for the ctypes array making
now moving to open window on each spot
added same method for gtk going to test
tested and working aH
do bgra->rgba in the portioining
first rev i noticed that he second screen on winnt its drawn super big,
need to troubleshoot :todo:

so right now its opening window per monitor, and putting in shot and dim

then it attaches event listeners

on close of one window it closes all others
in process of hooking up selection
but its happening on all screens. going to try to dash it now though
so the stroking is weird so im not messing with it right now. i dont
know why but it draws the stroke within the rect and it doesnt get
cleared
also added only respond on canDim primary click
i didnt change anything here just clenaed up, and setup skeleton for
setWinAlwaysOnTop. I want to commit this and then work on fixing the
Windows 2nd monitor resolution i dont know what screwed up
Noitidart added a commit that referenced this pull request Jul 19, 2015
## Summary
Complete change in direction, going with window per monitor method. This
closes PR Issue #11 in which do many things.

### X11
I deprecated GTK support in favor of X11 as X11 works from thread and
GTK does not. See [Bugzilla :: Bug 1181960 - Comment
14](https://bugzilla.mozilla.org/show_bug.cgi?id=1181960#c16). I
modified ostypes_gtk a bit to fix some stuff, i didn't remove this file
yet as it's a good file with some fixes to standard template to user
elsewhere. All the main thread GTK ctypes was removed.

### Pure Canvas Selection
The selection process no longer uses an overlaid box element, it now
uses global variables and draws the selection, no more keeping a point
pinned. Getting the stroke to work out for dashed line was a bit weird,
I did't spend too much time looking into it though, so should try again
in future.

## Global Event Listeners
No more so many anonymous functions. Global event listeners is much
cleaner. Closing one editor will close out the rest.

## Cross Platform (Window per Monitor)
Switched to technique where I use a window per monitor for canvas. This
was driven by the need for support on OSX. It was tested on Ubuntu, OSX
10.10.1, and Win81.

## Global Canvas Functionality
So functions were setup that offer ability work across all canvases.

## Outstanding Issues
* Make selection go only on canvases targeted
* Composite images from across canvases selected (this will be used for
saving)
* I decided all drawn elements will get their own canvas so they can be
moved around individually (compositing process should bring them all in
when saving)
* Witnessed on Win81, the canvas that is 1920x1080 is drawn with those
dimensions however visually, as measured by taking system screenshot of
editor and dropped in photoshop, is actually 2880x1620. Have to figure
out why and fix this up.
@Noitidart Noitidart closed this Jul 19, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant