aboutsummaryrefslogtreecommitdiffhomepage
path: root/video/out/wayland_common.c
Commit message (Collapse)AuthorAge
...
* wayland/opengl: fix garbage bordersGravatar Alexander Preisinger2014-01-02
| | | | | It seems mpv draws garbage in those regions. Now we calculate the aspect and let weston draw the black borders.
* wayland: don't change set fullscreen twiceGravatar Alexander Preisinger2014-01-02
| | | | | Newest weston chrashes if we call set_fullscreen twice. This is a major bug I which I should probably report.
* Split mpvcore/ into common/, misc/, bstr/Gravatar wm42013-12-17
|
* Move options/config related files from mpvcore/ to options/Gravatar wm42013-12-17
| | | | | | | | | Since m_option.h and options.h are extremely often included, a lot of files have to be changed. Moving path.c/h to options/ is a bit questionable, but since this is mainly about access to config files (which are also handled in options/), it's probably ok.
* Move mpvcore/input/ to input/Gravatar wm42013-12-17
|
* wayland: print waylands display errosGravatar Alexander Preisinger2013-12-04
| | | | | This is very usefull especially if you want to use newer wayland stuff like wl_subsurfaces and xdg_surfaces.
* wayland: create xkbcommon keymap from stringGravatar Alexander Preisinger2013-11-13
| | | | Fixes a problem where the passed size doesn't match the actuall string.
* waylad: implement functionality for window-scalingGravatar Alexander Preisinger2013-11-12
|
* wayland: better name for mouse coordinatesGravatar Alexander Preisinger2013-10-25
| | | | | I had to look up what the surf_x and surf_y members do. That means the name is not very good. Also a comment.
* wayland: fix fullscreen transparent border regionsGravatar Alexander Preisinger2013-10-25
| | | | | | | The default behavior of weston changed some time ago to not fill the surface black for fullscreen windows. Now let mpv draw the whole screen in fullscreen mode.
* wayland: use mp_input_test_draggingGravatar Alexander Preisinger2013-10-20
| | | | | | Instead of removing dragging we now test if it we should drag the window or not. Because if the OSC shows up we can not drag the window because that would cause mouse events that makes the OSC disappear.
* Revert "wayland: remove moving window by grabbing"Gravatar Alexander Preisinger2013-10-20
| | | | This reverts commit 3308bc2bc919cb8fadddad04e48b94d4e9324a34.
* Revert "wayland: remove outdated comment"Gravatar Alexander Preisinger2013-10-20
| | | | This reverts commit d75cfef49c271e43317666451f17c55e6747e564.
* wayland: remove outdated commentGravatar Alexander Preisinger2013-09-24
|
* wayland: remove moving window by grabbingGravatar Alexander Preisinger2013-09-24
| | | | | | Moving the window was convenient but generates a MOUSE_LEAVE event which it shouldn't. Now we remove it, because it is still possible to move the window in weston with MOD+BTN0.
* wayland/common: exit properly on fd errorsGravatar Alexander Preisinger2013-09-19
| | | | | | | Before this commit there was just an error message, but the file descriptor was still open. Now we close the file descriptor and prevent it from calling endlessly. Also a CLOSE_WIN event is sent which closes the window eventually if the action of CLOSE_WIN is set to quit or quit_watch_later.
* gl_common: signal to GL backend whether we are probingGravatar wm42013-09-16
| | | | | | | | | | | This is supposed to reduce the amount of useless error messages shown during initialization of vo_opengl. If multiple backends are compiled, usually only one of them will work. For example, on Linux both X and Wayland backends can be compiled, but usually either Wayland or X is running. Then, if Wayland is not running, but X is, trying to initialize the Wayland backend should not spam the terminal with error messages. Signed-off-by: Andreas Sinz <andreas.sinz@aon.at>
* wayland: change fs messages to dbgGravatar Alexander Preisinger2013-09-12
| | | | These messages are only helpful when debugging.
* Revert "wayland: don't create our own log context"Gravatar Alexander Preisinger2013-09-12
| | | | | | | This reverts commit beab54506e61bc080880e827e351439f76542e68. Conflicts: video/out/wayland_common.c
* wayland/common: improved error messagesGravatar Alexander Preisinger2013-09-10
| | | | | The previous error message were not very usefull. Also include a hint where to look for solutions.
* wayland: update license headersGravatar Alexander Preisinger2013-09-09
|
* wayland: fix memory leaksGravatar Alexander Preisinger2013-08-26
|
* wayland: don't create our own log contextGravatar Alexander Preisinger2013-08-26
| | | | This was more problematic than useful ([vo/wayland/wayland])
* wayland: remove shm listener for the backendGravatar Alexander Preisinger2013-08-25
| | | | | | The obtained information from the shm listener isn't used by anything and is also wrong now in wayland git master branch because of new shm formats which need a different way of saving the supported formats.
* wayland/egl: rework resizing (again)Gravatar Alexander Preisinger2013-08-25
| | | | | | | | | Moves a good chunk of the resizing code to wayland_common.c. This makes it possible to share it with future video drivers. It doesn't resizit it immediatly, it calcutlates the new position and size and then shedules a resizing event. This removes the ugly callback and void pointer from the wayland data structure.
* wayland: separate shm and cursor contextGravatar Alexander Preisinger2013-08-19
| | | | | | The display, window, keyboard and cursor structures are now cleanly and logically separated. Also could prevent a future bug where no shm format is set when the cursor image is loaded (Never happened until now).
* wayland: add support for precise scrollingGravatar Alexander Preisinger2013-08-07
| | | | | | | | The default value for a standard mouse is 10.0. Because we don't want to multiply the value in the input config file we scale it down to 1.0. Hopefully this should work for more precise mousewheels or touchpad, but I don't have access to such hardware.
* core: move contents to mpvcore (2/2)Gravatar Stefano Pigozzi2013-08-06
| | | | Followup commit. Fixes all the files references.
* wayland: switch to the new mp_msg apiGravatar Alexander Preisinger2013-07-31
|
* Remove subopt-helperGravatar wm42013-07-22
| | | | Finally not used by anything anymore. Farewell.
* wayland: use a unified struct for the stateGravatar Alexander Preisinger2013-07-18
| | | | | | | | | | This commit removes the pointer to the single different structures for input and window and puts them as anonymous structures inside the wayland_state structure. This has the disadvantage of passing the substructure to the listeners, but the advantage is that we don't have to allocate them and check for NULL pointers. This makes it more reliable and easier to follow.
* wayland: don't resize in gl_wayland.cGravatar Alexander Preisinger2013-07-18
| | | | | | The vo_wayland_fullscreen handles resizing for the video, because the video could still be in fullscreen mode and resizing it in gl_wayland could make it grow or shrink.
* video: remove fullscreen flags chaosGravatar wm42013-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a MPOpts fullscreen field, a mp_vo_opts.fs field, and VOFLAG_FULLSCREEN. Remove all these and introduce a mp_vo_opts.fullscreen flag instead. When VOs receive VOCTRL_FULLSCREEN, they are supposed to set the current fullscreen mode to the state in mp_vo_opts.fullscreen. They also should do this implicitly on config(). VOs which are capable of doing so can update the mp_vo_opts.fullscreen if the actual fullscreen mode changes (e.g. if the user uses the window manager controls). If fullscreen mode switching fails, they can also set mp_vo_opts.fullscreen to the actual state. Note that the X11 backend does almost none of this, and it has a private fs flag to store the fullscreen flag, instead of getting it from the WM. (Possibly because it has to deal with broken WMs.) The fullscreen option has to be checked on config() to deal with the -fs option, especially with something like: mpv --fs file1.mkv --{ --no-fs file2.mkv --} (It should start in fullscreen mode, but go to windowed mode when playing file2.mkv.) Wayland changes by: Alexander Preisinger <alexander.preisinger@gmail.com> Cocoa changes by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
* wayland: early aspect calculation in vo_configGravatar Alexander Preisinger2013-07-16
| | | | | | | | | | | | Calculate the aspect ratio in vo_config, when we get the window size and in the inside the resize function we calculate the aspect ratio of the output in order to determine if we have to change the height or the width of the video. If the ratio of the output is bigger than the ratio of the video then we have to set the width accordingly and if the ratio is smaller we change the size. But only if no resize edges are passed, because this indicates that we want to change the windows state instead of just a simple resize and the video should not grow bigger than the requested size.
* wayland: use default fullscreen methodGravatar Alexander Preisinger2013-07-16
| | | | | I misunderstood how the different methods work and if we set the size accordingly to the wayland configure event then METHOD_DEFAULT is what we want.
* wayland: remove mp_fifo headerGravatar Alexander Preisinger2013-07-03
|
* wayland: fix typoGravatar Alexander Preisinger2013-07-03
|
* wayland: remove mp_fifoGravatar Alexander Preisinger2013-07-02
|
* wayland: implement MOUSE_LEAVEGravatar Alexander Preisinger2013-07-02
|
* input: require VOs to send key up events, redo input key lookupGravatar wm42013-07-02
| | | | | | | | | | | | | | Making key up events implicit was sort-of a nice idea, but it's too tricky and unreliable and makes the key lookup code (interpret_keys()) hard to reason about. See e.g. previous commit for subtle bugs and issues this caused. Make key-up events explicit instead. Add key up events to all VOs. Any time MP_KEY_STATE_DOWN is used, the matching key up event must use MP_KEY_STATE_UP. Rewrite the key lookup code. It should be simpler and more robust now. (Even though the LOC increases, because the new code is less "compact".)
* wayland: use VOCTRL_UPDATE_WINDOW_TTILEGravatar Alexander Preisinger2013-06-16
|
* wayland: use VOCTRL_SET_CURSOR_VISIBILITYGravatar Alexander Preisinger2013-05-26
|
* wayland: introduce vo_wayland_configGravatar Alexander Preisinger2013-05-26
| | | | | This removes the need for exposing vo_wayland_fullscreen and other functions also this will be usefull for other vos in the future.
* video/out: introduce vo_control for gl_common based VOsGravatar wm42013-05-26
| | | | | | | | | | | | | | | | Instead of having separate callbacks for each backend-handled feature (like MPGLContext.fullscreen, MPGLContext.border, etc.), pass the VOCTRL responsible for this directly to the backend. This allows removing a bunch of callbacks, that currently must be set even for optional/lesser features (like VOCTRL_BORDER). This requires changes to all VOs using gl_common, as well as all backends that support gl_common. Also introduce VOCTRL_CHECK_EVENTS. vo.check_events is now optional. VO backends can use VOCTRL_CHECK_EVENTS instead to implementing check_events. This has the advantage that the event handling code in VOs doesn't have to be duplicated if vo_control() is used.
* wayland: reworked resizingGravatar Alexander Preisinger2013-05-07
| | | | | | | | | | This fixes 2 bugs: * Resizing very fast breaks the aspect of the window and the width and height don't match with the video anymore * Pressing 'f' for fullscreen very fast can overwrite the backup variables for the previous width and height. Also includes a better aspect calculation with fluid resizing.
* wayland: fix wrong poll comment, check for errorsGravatar Alexander Preisinger2013-05-02
| | | | | | | | We only print an error message when POLLERR or POLLHUP occurrs, as the something did go horribly wrong and the server will either deal with it or crash. Also add POLLOUT to the events.
* wayland: avoid iterating over all outputsGravatar Alexander Preisinger2013-05-02
| | | | | If we use the output itself as user data we don't have to iterate over all outputs when the handle_mode event comes.
* wayland: remove unused stuffGravatar Alexander Preisinger2013-05-02
|
* wayland: use new function xkb_keymap_from_bufferGravatar Alexander Preisinger2013-05-02
| | | | | | Bump xkbcommon version and use the new xkb_keymap_from_buffer. This is more secure, because the from_string expects a 0 terminated string, but this cannot be guaranteed with mmap.
* wayland: remove input modifier variableGravatar Alexander Preisinger2013-05-01
| | | | This variable was never used anywhere.