monitor-transform: Move helper functions into their own file

The existing ones are statically inlined, so there is no .c file
right now.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/366
This commit is contained in:
Robert Mader 2019-01-05 14:15:23 +01:00
parent 490f27efcb
commit 676a8da005
7 changed files with 59 additions and 26 deletions

View File

@ -160,6 +160,7 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
backends/meta-monitor-manager-private.h \
backends/meta-monitor-manager-dummy.c \
backends/meta-monitor-manager-dummy.h \
backends/meta-monitor-transform.h \
backends/meta-orientation-manager.c \
backends/meta-orientation-manager.h \
backends/meta-output.c \

View File

@ -33,17 +33,7 @@ typedef struct _MetaMonitorTiled MetaMonitorTiled;
typedef struct _MetaMonitorSpec MetaMonitorSpec;
typedef struct _MetaLogicalMonitor MetaLogicalMonitor;
typedef enum _MetaMonitorTransform
{
META_MONITOR_TRANSFORM_NORMAL,
META_MONITOR_TRANSFORM_90,
META_MONITOR_TRANSFORM_180,
META_MONITOR_TRANSFORM_270,
META_MONITOR_TRANSFORM_FLIPPED,
META_MONITOR_TRANSFORM_FLIPPED_90,
META_MONITOR_TRANSFORM_FLIPPED_180,
META_MONITOR_TRANSFORM_FLIPPED_270,
} MetaMonitorTransform;
typedef enum _MetaMonitorTransform MetaMonitorTransform;
typedef struct _MetaMonitorMode MetaMonitorMode;

View File

@ -23,6 +23,7 @@
#include <glib-object.h>
#include "backends/meta-backend-types.h"
#include "backends/meta-monitor-transform.h"
#include "meta/boxes.h"
/* Same as KMS mode flags and X11 randr flags */

View File

@ -41,6 +41,7 @@
#include "backends/meta-backend-private.h"
#include "backends/meta-cursor.h"
#include "backends/meta-display-config-shared.h"
#include "backends/meta-monitor-transform.h"
#include "meta/display.h"
#include "meta/meta-monitor-manager.h"
@ -335,19 +336,4 @@ void meta_monitor_manager_clear_output (MetaOutput *output);
void meta_monitor_manager_clear_mode (MetaCrtcMode *mode);
void meta_monitor_manager_clear_crtc (MetaCrtc *crtc);
/* Returns true if transform causes width and height to be inverted
This is true for the odd transforms in the enum */
static inline gboolean
meta_monitor_transform_is_rotated (MetaMonitorTransform transform)
{
return (transform % 2);
}
/* Returns true if transform involves flipping */
static inline gboolean
meta_monitor_transform_is_flipped (MetaMonitorTransform transform)
{
return (transform >= META_MONITOR_TRANSFORM_FLIPPED);
}
#endif /* META_MONITOR_MANAGER_PRIVATE_H */

View File

@ -0,0 +1,53 @@
/*
* Copyright (C) 2013 Red Hat Inc.
* Copyright (C) 2018 Robert Mader
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#ifndef META_MONITOR_TRANSFORM_H
#define META_MONITOR_TRANSFORM_H
#include <glib-object.h>
#include "backends/meta-backend-types.h"
enum _MetaMonitorTransform
{
META_MONITOR_TRANSFORM_NORMAL,
META_MONITOR_TRANSFORM_90,
META_MONITOR_TRANSFORM_180,
META_MONITOR_TRANSFORM_270,
META_MONITOR_TRANSFORM_FLIPPED,
META_MONITOR_TRANSFORM_FLIPPED_90,
META_MONITOR_TRANSFORM_FLIPPED_180,
META_MONITOR_TRANSFORM_FLIPPED_270,
};
/* Returns true if transform causes width and height to be inverted
This is true for the odd transforms in the enum */
static inline gboolean
meta_monitor_transform_is_rotated (MetaMonitorTransform transform)
{
return (transform % 2);
}
/* Returns true if transform involves flipping */
static inline gboolean
meta_monitor_transform_is_flipped (MetaMonitorTransform transform)
{
return (transform >= META_MONITOR_TRANSFORM_FLIPPED);
}
#endif /* META_MONITOR_TRANSFORM_H */

View File

@ -20,6 +20,7 @@
#include "config.h"
#include "backends/meta-monitor-transform.h"
#include "compositor/region-utils.h"
#include <math.h>

View File

@ -202,6 +202,7 @@ mutter_sources = [
'backends/meta-monitor-manager-dummy.c',
'backends/meta-monitor-manager-dummy.h',
'backends/meta-monitor-manager-private.h',
'backends/meta-monitor-transform.h',
'backends/meta-orientation-manager.c',
'backends/meta-orientation-manager.h',
'backends/meta-output.c',