Commit Graph

325 Commits

Author SHA1 Message Date
Chun-wei Fan
dcb766c461 Add Visual Studio Build Support for Broadway
-Add Visual Studio 2008 projects and pre-configured gdkconfig.h for
 Broadway builds
-Decouple the Visual Studio property sheets, to simplify maintenance and
 enhance flexibility for different builds

Visual Studio 2010 projects updates will follow later.
2013-08-02 11:20:19 +08:00
Benjamin Otte
6ea4c144dd build: Move gdk/tests/ to testsuite/gdk/
This is a reorganization of the testsuite to be in the testsuite/
directory, so it can be installed from there.
2013-05-15 15:37:16 +02:00
Benjamin Otte
12d22dc811 quartz: Fix Makefile typo 2013-05-15 15:33:24 +02:00
Benjamin Otte
ecaf09c918 build: remove --disable-rebuilds
It's unused and was only useful when perl wasn't installed. But perl is
a dependency of glib these days, so it's useless.
2013-05-09 19:09:50 +02:00
Rico Tzschichholz
d08d7f2c5a Remove abi checking scripts (2)
In addition to 019ad96479
2013-05-07 17:34:32 +02:00
Matthias Clasen
019ad96479 Remove abi checking scripts
The exported symbols are now controlled explicitly from the headers,
no need to double-check.
2013-05-07 06:01:18 -04:00
Matthias Clasen
ec724fe0fd Remove regex-based export control
All export control is now happening through annotations
in the headers.
2013-05-05 15:38:48 -04:00
Matthias Clasen
8af16c5d44 New visibility handling in gdk
Change the visibility handling to be the same way we do it in
GLib now. We pass -fvisibility=hidden to gcc and decorate public
functions with __attribute__((visibility("default"))).

This commit just does this for GDK, GTK+ will follow later.
2013-05-05 15:38:48 -04:00
John Ralls
e58b19db04 gdk: Temporarily add -xobjective-c to CFLAGS
To enable compiling the quartz backend after a6a4428
2013-04-22 15:48:34 -07:00
Benjamin Otte
aa9e974c86 gdk: Make atoms handled generically
This is another step towards making GdkDisplayManager backend-agnostic.

Most of the backends profit from this as their atom implementations
where generic anyway - x11 needed that to allow multiple X displays and
broadway, quartz and wayland don't have the concept of displays.

The X11 backend still did things, so I only #if 0'd some code but did
not actually update anything.
2013-04-15 15:43:27 +02:00
Benjamin Otte
0ed47e1bb7 x11: Fix introspection build
File removal in bb4953f3e8 wasn't checked
in here.
2013-02-19 15:38:08 +01:00
Owen W. Taylor
515e5f74aa Merge GdkFrameHistory into GdkFrameClock
Now that GdkFrameClock is a  class, not interface, there's no real advantage
to splitting the frame history into an aggregate object, so directly
merge it into GdkFrameClock.
2013-02-14 17:19:52 -05:00
Owen W. Taylor
5f2d1654a5 Change GdkFrameClock from an interface to a class
It's unlikely that anyone will want to have, say, a GtkWidget that
also acts as a GdkFrameClock, so an abstract base class is as
flexible as making GdkFrameClock an interface, but has advantages:

 - If we decide to never make implementing your own frame clock
   possible, we can remove the virtualization.
 - We can put functionality like history into the base class.
 - Avoids the oddity of a interface without a public interface
   VTable, which may cause problems for language bindings.
2013-02-14 17:19:52 -05:00
Owen W. Taylor
15ee04c66f Add GdkFrameHistory and GdkFrameTimings, handle _NET_WM_FRAME_TIMINGS
In order to be able to track statistics about how well we are drawing,
and in order to be able to do sophisticated things with frame timing
like predicting per-frame latencies and synchronizing audio with video,
we need to be able to track exactly when previous frames were drawn
to the screen.

Information about each frame is stored in a new GdkFrameTimings object.
A new GdkFrameHistory object is added which keeps a queue of recent
GdkFrameTimings (this is added to avoid further complicating the
implementation of GdkFrameClock.)

https://bugzilla.gnome.org/show_bug.cgi?id=685460
2013-02-14 17:19:50 -05:00
Owen W. Taylor
77bac0d6ae Add GdkFrameClock
Add an object GdkFrameClock that we associate with a GdkWindow.
This tracks when the window needs to be repainted, and will also
be used for other operations in the future like relayout and
updating animations.

Based on a patch from Havoc Pennington:

 https://mail.gnome.org/archives/gtk-devel-list/2010-October/msg00004.html

https://bugzilla.gnome.org/show_bug.cgi?id=685460
2013-02-14 17:19:47 -05:00
John Lindgren
885b43dd3a Use hash-based conversions for XSETTINGS names.
https://bugzilla.gnome.org/show_bug.cgi?id=692605
2013-01-27 01:08:25 +01:00
Benjamin Otte
dd3c56d783 gdk: Ignore headers for declared functions 2012-10-06 15:55:30 -04:00
Chun-wei Fan
4f56f53ad7 Bug 670499-Add gdk/fallback-c89.c
Add a fallback-c89.c for the gdk/ subdirectory as there is code that uses
functions that are introduced by C99.  This currently adds fallback
implementations for MSVC for isnan() and isinf()

Dist this "new" source file as well
2012-05-03 11:55:11 +08:00
Pavel Holejsovsky
94116aec8e Fix sourcedir!=builddir .gir build from source tarball
Setting -I$(top_builddir) before -I$(top_srcdir) causes that
g-ir-scanner picks up boxing definitions generated by glib-mkenums.

https://bugzilla.gnome.org/show_bug.cgi?id=672133
2012-04-11 20:05:10 +02:00
Javier Jardón
962a5d8b8a Require XInput2.h in X11 backend
Also remove support for XInput.h
2012-03-02 12:52:12 +00:00
Cosimo Cecchi
6f34ac4ba0 gdk: don't install gdkversionmacros.h twice
Since it's generated, we install the header by putting it into
gdkinclude_HEADERS, so it's wrong to put it again into
gdk_public_h_sources.
This fixes the build.
2012-02-27 11:45:12 -05:00
Matthias Clasen
e580c79ae0 Add versioned deprecation macros
These macros follow the recent changes in GLibs deprecation
setup. We now annotate deprecated functions with the version
they were deprecated in, and you can define the macro
GDK_VERSION_MIN_REQUIRED to cut off deprecation warnings for
'recent' deprecations.

At the same time, we introduce version annotations for new API
and allow you to avoid 'recent' API additions by defining
GDK_VERSION_MAX_ALLOWED.
2012-02-27 07:11:43 -05:00
Benjamin Otte
b120cb04a5 gdk: Move a bunch of deprecated code to a new file
The new file defines GDK_DISABLE_DEPRECATION_WARNINGS so it can happily
use deprecated APIs.

This commit moves those functions there that use deprecated functions
and currently cause warnings.

With this commit, GDK compiles without deprecation warnings.
2011-11-02 02:32:53 +01:00
Bastien Nocera
aceccd5819 gdk: Make gen-keyname-table.pl work again
keyname-table.h was modified by hand, and gen-keyname-table.pl
couldn't be used to generate that file again.

https://bugzilla.gnome.org/show_bug.cgi?id=662628
2011-10-26 10:36:43 +01:00
Matthias Clasen
2937a875a0 Ditch some long dead perl cruft 2011-07-23 13:44:45 -04:00
Javier Jardón
32e00d1f43 Use AM_CPPFLAGS instead the obsolete INCLUDES 2011-07-06 15:58:32 +01:00
Chun-wei Fan
527a299fdd Bug 643270: VS2010 Project Files (autotools)
-Update to distribute the VS2010 files.
-Added rules in Makefile.am's of GDK and GTK to fill in the
 project/filter files templates with up-to-date source file
 listings to simplify maintenace.

Any comments on the usage of the VS2010 files are welcome!
2011-04-27 00:48:05 +08:00
Kristian Høgsberg
c7514e8f0d Merge branch 'gdk-backend-wayland'
Conflicts:
	Makefile.am
	configure.ac
	gdk/Makefile.am
	gtk/gtksettings.c
	gtk/gtkwindow.c
2011-04-12 09:52:44 -04:00
Alexander Larsson
4765f37484 Merge branch 'gtk-3-0' into broadway
Conflicts:
	gdk/gdkdisplaymanager.c
2011-03-10 10:51:04 +01:00
Matthias Clasen
1442fe9694 Don't distribute gdkconfig.h
https://bugzilla.gnome.org/show_bug.cgi?id=643440
2011-03-02 22:17:02 -05:00
Kristian Høgsberg
287d91e5f9 Merge remote-tracking branch 'origin/master' into gdk-backend-wayland
Conflicts:
	gdk/gdkdisplaymanager.c
2011-02-26 14:44:29 -05:00
Alexander Larsson
e68774325e [broadway] Update to new library name 2011-02-11 15:38:41 +01:00
Alexander Larsson
d4add8cefa Merge branch 'master' into broadway 2011-02-11 15:27:54 +01:00
Matthias Clasen
524ce69bcb Bump the version to 3.0.0
At the same time, change the library sonames for -3.0 to just -3.
This is necessary since the 2.99 releases installed libraries like
libgtk-3.0.so.0.9903.0, and we want to prevent the library version
number from jumping back. So 3.0 will have libgtk-3.so.0.0.0.
2011-02-10 14:41:02 -05:00
Colin Walters
7711f9fad4 introspection: Remove redundant include
Gdk-3.0 is already included above via --include-uninstalled, so
don't also specify it in INCLUDES.  Doing so breaks if it isn't
installed already, since we try to find the gdk-3.0.pc.
2011-02-08 10:16:55 -05:00
Kristian Høgsberg
590f3dfa1f Add Wayland backend 2011-02-05 16:11:54 -05:00
Johan Dahlin
1e0327f844 Use identifier-prefix instead of deprecated strip-prefix 2011-01-20 12:12:22 -02:00
Alexander Larsson
920e8b4343 Merge branch 'master' into broadway2
Doesn't build, but fixed up actual conflicts

Conflicts:
	configure.ac
	gdk/Makefile.am
	gtk/Makefile.am
2011-01-19 19:52:00 +01:00
Matthias Clasen
e62b68fe62 Add EXPORT_PACKAGES for the girs
This connects the girs to the pc file names.

https://bugzilla.gnome.org/show_bug.cgi?id=635287
2011-01-14 09:46:21 -05:00
Matthias Clasen
9d14edf760 Add --include-uninstalled for the gdk gir
https://bugzilla.gnome.org/show_bug.cgi?id=635287
2011-01-14 09:44:10 -05:00
Matthias Clasen
8ba35bc381 Add --warn-all to introspection scanner args
https://bugzilla.gnome.org/show_bug.cgi?id=635287
2011-01-14 09:32:26 -05:00
Chun-wei Fan
479a08054b Update MSVC 2008 Project Files
-Update the project files to simplify them a bit after the seperation of
 GDK-Pixbuf (move GDK-Pixbuf includes into the property sheet, move the
 linking of Cairo/Pango/PangoCairo into the property sheet)--this is for
 all DLL/EXE Projects (GDK/GTK/gtk-demo)

-Update the GDK-Win32 project as the source files have changed
 significantly (especially as GDK3 was not compilable on Windows for a
 while--thanks to Hans Breuer for the help in the process-Bug 639127)

-Made up for missed headers in the "install" stage and removed the removed
 headers in the property sheet

-Updated GTK+ .def file generation as an extra macro is needed for that

-Updated gdk/Makefile.am for the generation of gdk.vcproj from gdk.vcprojin
2011-01-12 18:32:57 +08:00
Benjamin Otte
b05f54ff73 x11: Add --c-include for gdk/gdkx.h to Gdk-X11 gir build 2011-01-11 16:46:59 +01:00
Benjamin Otte
ebd5f8b10e gdk: Put stub gdkx.h into gdk/ dir
This is so we can include gdk/gdkx.h from inside GTK code.
2011-01-11 16:46:59 +01:00
Benjamin Otte
654aca5ccd gdk: Don't build X11 stuff into Gdk.gir 2011-01-11 16:46:59 +01:00
Benjamin Otte
268efbc0ef gdk: Add --c-include gdk/gdk.h to Gir build. 2011-01-11 16:46:59 +01:00
Emilio Pozuelo Monfort
cfc70ca71b Fix introspection build when builddir != srcdir
So gdk/gdk.h can find gdk/gdkconfig.h, which is in $builddir
because it's generated.
2011-01-04 23:21:35 +00:00
Matthias Clasen
83058bf2ca Use AM_V_GEN in a few more places
Based on a patch by Javier Jardón in

https://bugzilla.gnome.org/show_bug.cgi?id=621720
2011-01-03 20:33:36 -05:00
Kristian Høgsberg
cacee7e7a3 configure.ac: Support multiple GDK backends in one build 2011-01-03 11:59:45 -05:00
Kristian Rietveld
9b4f5a424c gdk: Fix toplevel makefile to build non-x11 backends again 2010-12-22 17:47:03 +01:00
Matthias Clasen
168b3c13b7 Implement keyval vfuncs for quartz 2010-12-22 17:47:00 +01:00
Matthias Clasen
fcbfa05347 Drop no-longer-existing header from Makefile 2010-12-21 17:36:50 -05:00
Matthias Clasen
b4802e3042 Rename x11-specific GdkDevice[Manager] implementations
Make them all fit in the gdk_x11_ prefix, and make the
get_type functions and standard macros available in headers.
2010-12-21 12:07:09 -05:00
Benjamin Otte
04d1459fca x11: Move remaining APIs into gdkx11utils.h
Now gdkx.h is a clean header equivalent to gdk.h.
2010-12-21 12:07:07 -05:00
Benjamin Otte
dd177b5201 x11: Move atom API into gdkx11property.h 2010-12-21 12:07:07 -05:00
Benjamin Otte
ebe46e6f9d x11: Move selection-specific API into gdkx11selection.h 2010-12-21 12:07:07 -05:00
Benjamin Otte
7949073dd5 x11: Move display-specific APIs into gdkx11display.h 2010-12-21 12:07:06 -05:00
Benjamin Otte
6dfa90f57c x11: Move screen-specific API into gdkx11screen.h 2010-12-21 12:07:06 -05:00
Benjamin Otte
0ca6a7ab20 x11: Move visual-specific API into gdkx11visual.h 2010-12-21 12:07:06 -05:00
Benjamin Otte
55f3451754 x11: Move cursor API into gdkx11cursor.h 2010-12-21 12:07:06 -05:00
Benjamin Otte
124cf96850 x11: Split out public window API into gdkx11window.h 2010-12-21 12:07:06 -05:00
Benjamin Otte
66e3894539 gdk: Move GdkCursor definition into a private header 2010-12-21 12:07:04 -05:00
Matthias Clasen
fdabc9585d Drop g[dt]k_set_locale
These functions were essentially just calling setlocale anyway.
The X11 version was also setting a gdk_use_mb variable that
is not used anywhere.
2010-12-21 12:07:02 -05:00
Matthias Clasen
902fd60a86 Remove the --sync commandline option
Remove the --sync option and remove the possibility of backend-specific
commandline options altogether. --sync is being replaced by
a GDK_SYNCHRONIZE environment variable.
2010-12-21 12:07:02 -05:00
Matthias Clasen
25c66c11e2 Remove gdk_spawn functions
These functions were trivial g_spawn wrappers in all backends
except for X11, and they can be easily replaced by
g_app_info_create_for_commandline + GdkAppLaunchContext.
2010-12-21 12:07:00 -05:00
Matthias Clasen
968668629b Go back to installing libgdk.so 2010-12-21 12:06:59 -05:00
Matthias Clasen
ea96e5e16f Explode gdkinternals.h into per-class private headers
At the same time, move some more class and instance structs
out of public headers.
2010-12-21 12:06:58 -05:00
Matthias Clasen
07d49ee56a Merge libgdk and libgtk
This commit does a number of things:
- remove some dead wchar configury from configure.ac and gdkconfig.h
- repurpose gdkconfig.h as header that contains GDK_WINDOWING_foo
  macros for each included backend, include it in gdk.h and install
  it in $includedir instead of below $libdir
- drop the backend from the library names
- build libgdk-3.0.la as a convenience lib and include it in libgtk-3.0.la
It does not yet enable building multiple backends at the same time.
2010-12-21 12:06:55 -05:00
Carlos Garnacho
2c8c1c6df4 Remove *_set_extension_events() and old API to query devices.
The old functions to get core pointer and devices list are gone as
well. This slice is entirely replaced internally by multidevice
handling and may just go.
2010-12-17 16:25:14 +01:00
Matthias Clasen
3b90d877b7 Remove unused header 2010-12-10 23:39:10 -05:00
Alexander Larsson
07fafe7b23 Merge branch 'master' into broadway 2010-12-04 22:31:15 +01:00
Benjamin Otte
218eea4378 gdk: Remove GdkDrawable
It's unused.
2010-12-02 20:21:04 +01:00
Benjamin Otte
b3bca70d5b gdk: Remove unused medialib code 2010-12-02 20:21:02 +01:00
Benjamin Otte
88399c041c x11: Remove GdkDrawableImplX11
It's not use anymore, the whole functionality has been moved to
GdkWindowImplX11.
2010-12-02 20:17:27 +01:00
Alexander Larsson
5b480e1b0d [broadway] Copy X backend to broadway 2010-11-25 22:09:19 +01:00
Benjamin Otte
fd96b16c15 gdk: Remove unused macros from build
Both ALL_FILES and INCLUDE_VARIABLES don't exist anymore
2010-11-24 16:18:46 +01:00
Carlos Garnacho
5a5f8081f0 Add GdkRGBA struct to supersede GdkColor
GdkRGBA is a boxed struct similar to GdkColor, with the difference
that it stores alpha information as well, and colors are stored in
[0..1] doubles, in the cairo spirit.

gdk_cairo_set_source_rgba() has been also added to allow easier handling
of this new type.
2010-10-22 20:14:56 +02:00
Matthias Clasen
9d644e9d2d Make gdk.h an include-only header
Move declarations to other headers, and introduce some new ones:
gdkmain.h, gdkrectangle.h, gdkthreads.h.
2010-10-14 22:08:48 -04:00
Tor Lillqvist
f51f39af2a Create directory before installing files there 2010-09-28 16:24:24 +03:00
Benjamin Otte
e624656c20 API: Remove GdkColormap 2010-09-26 15:11:34 +02:00
Benjamin Otte
f74f9b2766 gdk: Remove GdkPixmap
All iusers of it are gone, so it's now time to let go.
cairo_surface_t is a full replacement, combined with
gdk_window_create_similar_surface().
2010-09-26 15:11:30 +02:00
Benjamin Otte
4a9c32dc36 API: Remove APIs to generate pixmaps from pixbufs
The 3 functions in question were:
- gdk_pixbuf_render_threshold_alpha()
- gdk_pixbuf_render_pixmap_and_mask()
- gdk_pixbuf_render_pixmap_and_mask_for_colormap()

All of them can be replaced using Cairo if they have to. The
functionality is only needed to talk to old X interfaces and normal apps
do fine without them.
2010-09-26 15:11:29 +02:00
Matthias Clasen
bf19aa46e9 Scan gdk/x11 sources for Gdk-3.0.gir
The doc comments (with annotations) for some of the gdk api are down
in x11/ sources, so we need to scan those too, when building Gdk-3.0.gir.
2010-09-17 09:23:30 -04:00
Colin Walters
bf2a7ee1b6 introspection: Only use 0.9.3 API 2010-09-15 15:07:58 -04:00
Colin Walters
913cdf3be7 GDK: Prefix key names with KEY_
The keysyms create a lot of potential namespace conflicts for
C, and are especially problematic for introspection, where we take
constants into the namespace, so GDK_Display conflicts with GdkDisplay.

For C application compatiblity, add gdkkeysyms-compat.h which uses
the old names.

Just one user in GTK+ continues to use gdkkeysyms-compat.h, which is
the gtkimcontextsimple.c, since porting that requires porting more
custom Perl code.
2010-09-08 18:51:44 -04:00
Colin Walters
b04b1b2e84 introspection: Update to new scanner API
* Add --warn-all
* Drop unnecessary  of --strip-prefix; for GdkX11, use --symbol-prefix

https://bugzilla.gnome.org/show_bug.cgi?id=628160
2010-08-31 16:21:08 -04:00
Benjamin Otte
8856bfc60e directfb: Remove
As announced by email and on IRC, this backend is removed from GTK 3.
It has been broken for over a year with no one fixing it.
2010-08-23 12:44:58 +02:00
Benjamin Otte
6a48a042c7 API: remove GdkGC
XXX: Some traces in the win32 code are left. I suppose they'd best be
replaced using Cairo.
2010-08-10 21:02:29 +02:00
Benjamin Otte
14fe04ec89 API: remove GdkImage
It was unused and buggy.
2010-08-10 21:02:26 +02:00
Benjamin Otte
d18abf42b7 API: Get rid of GdkRGB 2010-08-10 21:02:26 +02:00
Matthias Clasen
9a812edff8 Fix distcheck 2010-07-12 11:53:36 -04:00
Matthias Clasen
4f3d5e3655 Include cairo-1.0.gir when building Gdk-3.0.gir
Seems necessary with the cairo_region_t changes.
2010-07-12 10:30:06 -04:00
Matthias Clasen
813bee6f0a Try to fix !srcdir build wrt to introspection
This requires a recent gobject-introspection, so bump the
dependency to 0.9.0. Should fix bug 623520
2010-07-09 21:01:40 -04:00
Javier Jardón
404e7d0e00 gdk/: fully remove gdkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:21:31 +02:00
Javier Jardón
7cabad6b77 Use -Bsymbolic-functions, drop g*alias PLT hackery
This is a minimal patch-out of the galias functionality.

Based on a Glib pach by Ryan Lortie

https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:21:31 +02:00
Benjamin Otte
5a02283fbf API: Remove all GdkRegion API
Remove the deprecated region APIs completely from GTK.

https://bugzilla.gnome.org/show_bug.cgi?id=613284
2010-06-29 16:06:58 +02:00
Christian Dywan
655dcff096 Remove deprecated GdkFont
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=604196

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-06-28 23:38:03 +02:00
Colin Walters
17f8b5e581 GdkX11.gir depends on Gdk.gir 2010-06-28 13:50:57 -04:00
Matthias Clasen
16ecf55832 Make GTK+ use an external gdk-pixbuf 2010-06-26 01:09:05 -04:00
Colin Walters
d986066cb5 Add --add-include-path to find just-built .gir files 2010-06-25 12:14:12 -04:00