buncha cleanups, kludged build sources dependencies with a Makefile:

Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>

        * gtk/Makefile.am: buncha cleanups, kludged build sources
        dependencies with a Makefile: oldest-source-stamp dependancy
        for the moment. automake is really fighting us here, with
        intentionally not allowing user-defined rules or dependancies
        prior to it's -include $(DEP_FILES) statement. sucks rocks!

        * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
        to public headers. tehy have a comment stating that they are
        "semi-public" aren't included by gtk.h and if enums popup there,
        they can be /*< skip >*/-ed.

        * gtk/gtktextlayout.h:
        * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
        added LGPL... <SIGH>
This commit is contained in:
Tim Janik 2000-10-26 05:50:36 +00:00 committed by Tim Janik
parent f12ddea328
commit 6700994c24
11 changed files with 359 additions and 219 deletions

View File

@ -1,3 +1,20 @@
Thu Oct 26 07:36:16 2000 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: buncha cleanups, kludged build sources
dependencies with a Makefile: oldest-source-stamp dependancy
for the moment. automake is really fighting us here, with
intentionally not allowing user-defined rules or dependancies
prior to it's -include $(DEP_FILES) statement. sucks rocks!
* gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
to public headers. tehy have a comment stating that they are
"semi-public" aren't included by gtk.h and if enums popup there,
they can be /*< skip >*/-ed.
* gtk/gtktextlayout.h:
* gtk/gtktextdisplay.h: indentation fixes, comment fixes,
added LGPL... <SIGH>
Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com> Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to

View File

@ -1,3 +1,20 @@
Thu Oct 26 07:36:16 2000 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: buncha cleanups, kludged build sources
dependencies with a Makefile: oldest-source-stamp dependancy
for the moment. automake is really fighting us here, with
intentionally not allowing user-defined rules or dependancies
prior to it's -include $(DEP_FILES) statement. sucks rocks!
* gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
to public headers. tehy have a comment stating that they are
"semi-public" aren't included by gtk.h and if enums popup there,
they can be /*< skip >*/-ed.
* gtk/gtktextlayout.h:
* gtk/gtktextdisplay.h: indentation fixes, comment fixes,
added LGPL... <SIGH>
Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com> Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to

View File

@ -1,3 +1,20 @@
Thu Oct 26 07:36:16 2000 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: buncha cleanups, kludged build sources
dependencies with a Makefile: oldest-source-stamp dependancy
for the moment. automake is really fighting us here, with
intentionally not allowing user-defined rules or dependancies
prior to it's -include $(DEP_FILES) statement. sucks rocks!
* gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
to public headers. tehy have a comment stating that they are
"semi-public" aren't included by gtk.h and if enums popup there,
they can be /*< skip >*/-ed.
* gtk/gtktextlayout.h:
* gtk/gtktextdisplay.h: indentation fixes, comment fixes,
added LGPL... <SIGH>
Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com> Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to

View File

@ -1,3 +1,20 @@
Thu Oct 26 07:36:16 2000 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: buncha cleanups, kludged build sources
dependencies with a Makefile: oldest-source-stamp dependancy
for the moment. automake is really fighting us here, with
intentionally not allowing user-defined rules or dependancies
prior to it's -include $(DEP_FILES) statement. sucks rocks!
* gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
to public headers. tehy have a comment stating that they are
"semi-public" aren't included by gtk.h and if enums popup there,
they can be /*< skip >*/-ed.
* gtk/gtktextlayout.h:
* gtk/gtktextdisplay.h: indentation fixes, comment fixes,
added LGPL... <SIGH>
Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com> Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to

View File

@ -1,3 +1,20 @@
Thu Oct 26 07:36:16 2000 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: buncha cleanups, kludged build sources
dependencies with a Makefile: oldest-source-stamp dependancy
for the moment. automake is really fighting us here, with
intentionally not allowing user-defined rules or dependancies
prior to it's -include $(DEP_FILES) statement. sucks rocks!
* gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
to public headers. tehy have a comment stating that they are
"semi-public" aren't included by gtk.h and if enums popup there,
they can be /*< skip >*/-ed.
* gtk/gtktextlayout.h:
* gtk/gtktextdisplay.h: indentation fixes, comment fixes,
added LGPL... <SIGH>
Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com> Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to

View File

@ -1,3 +1,20 @@
Thu Oct 26 07:36:16 2000 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: buncha cleanups, kludged build sources
dependencies with a Makefile: oldest-source-stamp dependancy
for the moment. automake is really fighting us here, with
intentionally not allowing user-defined rules or dependancies
prior to it's -include $(DEP_FILES) statement. sucks rocks!
* gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
to public headers. tehy have a comment stating that they are
"semi-public" aren't included by gtk.h and if enums popup there,
they can be /*< skip >*/-ed.
* gtk/gtktextlayout.h:
* gtk/gtktextdisplay.h: indentation fixes, comment fixes,
added LGPL... <SIGH>
Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com> Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to

View File

@ -1,3 +1,20 @@
Thu Oct 26 07:36:16 2000 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: buncha cleanups, kludged build sources
dependencies with a Makefile: oldest-source-stamp dependancy
for the moment. automake is really fighting us here, with
intentionally not allowing user-defined rules or dependancies
prior to it's -include $(DEP_FILES) statement. sucks rocks!
* gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
to public headers. tehy have a comment stating that they are
"semi-public" aren't included by gtk.h and if enums popup there,
they can be /*< skip >*/-ed.
* gtk/gtktextlayout.h:
* gtk/gtktextdisplay.h: indentation fixes, comment fixes,
added LGPL... <SIGH>
Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com> Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to

View File

@ -39,15 +39,13 @@ LDFLAGS = @STRIP_BEGIN@ \
-lm \ -lm \
@STRIP_END@ @STRIP_END@
# $(top_builddir)/gdk/libgdk-1.3.la
# #
# setup source file variables # setup source file variables
# #
# GTK+ header files for public installation (non-generated, or generated # GTK+ header files for public installation (non-generated, or generated
# by configure) # by configure)
gtk_public_h_sources = @STRIP_BEGIN@ \ gtk_public_h_sources = @STRIP_BEGIN@ \
gtk.h \ gtk.h \
gtkaccelgroup.h \ gtkaccelgroup.h \
@ -157,7 +155,9 @@ gtk_public_h_sources = @STRIP_BEGIN@ \
gtktearoffmenuitem.h \ gtktearoffmenuitem.h \
gtktextbuffer.h \ gtktextbuffer.h \
gtktextchild.h \ gtktextchild.h \
gtktextdisplay.h \
gtktextiter.h \ gtktextiter.h \
gtktextlayout.h \
gtktextmark.h \ gtktextmark.h \
gtktexttag.h \ gtktexttag.h \
gtktexttagtable.h \ gtktexttagtable.h \
@ -187,19 +187,6 @@ gtk_public_h_sources = @STRIP_BEGIN@ \
gtkwidget.h \ gtkwidget.h \
gtkwindow.h \ gtkwindow.h \
@STRIP_END@ @STRIP_END@
#
# GTK+ header files that we install, but don't extract enums from
# (This class is iffy; we have it for the semi-public interface
# of the Text widget, which is useful for writing new view types
# such as a Canvas text item, but isn't part of the clean public
# interface)
gtk_semipublic_h_sources = @STRIP_BEGIN@ \
gtktextdisplay.h \
gtktextlayout.h \
@STRIP_END@
# GTK+ header files that don't get installed # GTK+ header files that don't get installed
gtk_private_h_sources = @STRIP_BEGIN@ \ gtk_private_h_sources = @STRIP_BEGIN@ \
gtkrbtree.h \ gtkrbtree.h \
@ -212,12 +199,8 @@ gtk_private_h_sources = @STRIP_BEGIN@ \
gtktexttagprivate.h \ gtktexttagprivate.h \
gtktreeprivate.h \ gtktreeprivate.h \
@STRIP_END@ @STRIP_END@
# GTK+ C sources to build the library from # GTK+ C sources to build the library from
gtk_c_sources = @STRIP_BEGIN@ \ gtk_c_sources = @STRIP_BEGIN@ \
gtkaccelgroup.c \ gtkaccelgroup.c \
gtkaccellabel.c \ gtkaccellabel.c \
gtkadjustment.c \ gtkadjustment.c \
@ -365,43 +348,6 @@ gtk_c_sources = @STRIP_BEGIN@ \
fnmatch.h \ fnmatch.h \
gdk-pixbuf-loader.c \ gdk-pixbuf-loader.c \
@STRIP_END@ @STRIP_END@
# we use our own built_sources variable rules to avoid automake's
# BUILT_SOURCES oddities
# we generate frequently rebuild files piggyback on a stamp file, so sources
# depending on them only get rebuild when the built source actually changed
# content
#
# built sources that don't get installed
gtk_built_sources = @STRIP_BEGIN@ \
stamp-gtk.defs \
stamp-gtktypebuiltins.h \
stamp-gtkmarshal.h \
gtktypebuiltins_vars.c \
gtktypebuiltins_ids.c \
gtktypebuiltins_evals.c \
gtkmarshal.c \
gtk.defs \
@STRIP_END@
# built sources that get installed with the header files
gtk_built_public_sources = @STRIP_BEGIN@ \
gtkcompat.h \
gtkmarshal.h \
gtktypebuiltins.h \
@STRIP_END@
# non-header sources (headers should be specified in the above variables)
# that don't serve as direct make target sources, i.e. they don't have
# their own .lo rules and don't get publically installed
gtk_extra_sources = @STRIP_BEGIN@ \
gtkcompat.h.in \
makeenums.pl \
makeenums.awk \
maketypes.awk \
makeenums.h \
gtkargcollector.c \
gtk-boxed.defs \
genmarshal.c \
gtkmarshal.list \
@STRIP_END@
# Extra headers that are used for enum type array/id generation # Extra headers that are used for enum type array/id generation
gdk_headers = @STRIP_BEGIN@ \ gdk_headers = @STRIP_BEGIN@ \
../gdk/gdkcc.h \ ../gdk/gdkcc.h \
@ -425,40 +371,53 @@ gdk_headers = @STRIP_BEGIN@ \
../gdk/gdkwindow.h \ ../gdk/gdkwindow.h \
@STRIP_END@ @STRIP_END@
# we use our own built_sources variable rules to avoid automake's
# BUILT_SOURCES oddities
# we generate frequently rebuild files piggyback on a stamp file, so sources
# depending on them only get rebuild when the built source actually changed
# content
# built sources that get installed with the header files
gtk_built_public_sources = @STRIP_BEGIN@ \
gtkmarshal.h \
gtktypebuiltins.h \
@STRIP_END@
# built sources that don't get installed
gtk_built_sources = @STRIP_BEGIN@ \
stamp-gtk.defs \
stamp-gtktypebuiltins.h \
stamp-gtkmarshal.h \
gtktypebuiltins_vars.c \
gtktypebuiltins_ids.c \
gtktypebuiltins_evals.c \
gtkmarshal.c \
gtk.defs \
${gtk_built_public_sources} \
@STRIP_END@
# non-header sources (headers should be specified in the above variables)
# that don't serve as direct make target sources, i.e. they don't have
# their own .lo rules and don't get publically installed
gtk_extra_sources = @STRIP_BEGIN@ \
gtkcompat.h.in \
makeenums.pl \
makeenums.awk \
maketypes.awk \
makeenums.h \
gtkargcollector.c \
gtk-boxed.defs \
gtkmarshal.list \
@STRIP_END@
# #
# setup GTK+ sources and their dependancies # setup GTK+ sources and their dependancies
# #
all_headers = $(gtk_public_h_sources) $(gtk_semipublic_h_sources) $(gtk_built_public_sources) gtk_target_headers = $(gtk_public_h_sources) $(gtk_built_public_sources)
all_sources = $(gtk_c_sources) gtk_target_sources = $(gtk_c_sources)
MAINTAINERCLEANFILES += $(gtk_built_sources)
extra = @gtktargetlib@
if USE_X11
libgtk_x11_includedir = $(includedir)/gtk-2.0/gtk
libgtk_x11_include_HEADERS = $(all_headers)
libgtk_x11_1_3_la_SOURCES = $(all_sources)
endif
if USE_NANOX
libgtk_nanox_includedir = $(includedir)/gtk-2.0/gtk
libgtk_nanox_include_HEADERS = $(all_headers)
libgtk_nanox_1_3_la_SOURCES = $(all_sources)
endif
if USE_LINUX_FB
libgtk_linux_fb_includedir = $(includedir)/gtk-2.0/gtk
libgtk_linux_fb_include_HEADERS = $(all_headers)
libgtk_linux_fb_1_3_la_SOURCES = $(all_sources)
endif
# now define the real one to workaround automake's mishandling
lib_LTLIBRARIES = $(extra)
EXTRA_LTLIBRARIES = libgtk-x11-1.3.la libgtk-nanox-1.3.la libgtk-linux-fb-1.3.la
MAINTAINERCLEANFILES += $(gtk_built_public_sources) $(gtk_built_sources)
EXTRA_HEADERS += EXTRA_HEADERS +=
EXTRA_DIST += $(gtk_private_h_sources) EXTRA_DIST += $(gtk_private_h_sources) $(gtk_extra_sources)
EXTRA_DIST += $(gtk_built_sources) $(gtk_built_public_sources) $(gtk_extra_sources) EXTRA_DIST += $(gtk_built_sources)
# #
# rules to generate built sources # rules to generate built sources
@ -466,13 +425,14 @@ EXTRA_DIST += $(gtk_built_sources) $(gtk_built_public_sources) $(gtk_extra_sourc
# setup autogeneration dependancies # setup autogeneration dependancies
gen_sources = xgen-gdef xgen-gtbh xgen-gtbvc xgen-gtbic xgen-gtbec xgen-gmh xgen-gmc gen_sources = xgen-gdef xgen-gtbh xgen-gtbvc xgen-gtbic xgen-gtbec xgen-gmh xgen-gmc
CLEANFILES += $(gen_sources) CLEANFILES += $(gen_sources)
OLD_STAMP: $(gtk_built_public_sources) $(gtk_built_sources) Makefile: oldest-source-stamp # oh boy, does automake SUCK!
$(OBJECTS): OLD_STAMP # this is our oldest-source-stamp oldest-source-stamp: $(gtk_built_sources)
$(OBJECTS): oldest-source-stamp ${gtk_built_public_sources} # this is our oldest file, used for implicit auto-generation deps
# initial creation of the real stamp-* files # initial creation of the real stamp-* files
gtk.defs gtkmarshal.h gtktypebuiltins.h: # never add deps here gtk.defs gtkmarshal.h gtktypebuiltins.h: # never add deps here
test -f "$(srcdir)/$@" || touch $(srcdir)/$@ test -f "$(srcdir)/$@" || touch $(srcdir)/$@
# normal autogeneration rules # normal autogeneration rules
# all autogenerated files need to generated in the srcdir, # all autogenerated files need to be generated in the srcdir,
# so old versions get remade and are not confused with newer # so old versions get remade and are not confused with newer
# versions in the build dir. thus a development setup requires # versions in the build dir. thus a development setup requires
# srcdir to be writable, passing --disable-rebuilds to # srcdir to be writable, passing --disable-rebuilds to
@ -484,15 +444,17 @@ $(srcdir)/stamp-gtk.defs: @REBUILD@ makeenums.pl gtk.defs gtk-boxed.defs $(gtk_p
&& (cmp -s xgen-gdef gtk.defs || cp xgen-gdef gtk.defs) \ && (cmp -s xgen-gdef gtk.defs || cp xgen-gdef gtk.defs) \
&& rm -f xgen-gdef \ && rm -f xgen-gdef \
&& echo timestamp > $(@F) && echo timestamp > $(@F)
$(srcdir)/gtkmarshal.c: stamp-gtkmarshal.h $(srcdir)/stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list gtkmarshal.h
$(srcdir)/gtkmarshal.c $(srcdir)/stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list gtkmarshal.h cd $(srcdir) \
&& glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --header >> xgen-gmh \
&& (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
&& rm -f xgen-gmh xgen-gmh~ \
&& echo timestamp > $(@F)
$(srcdir)/gtkmarshal.c: $(srcdir)/stamp-gtkmarshal.h
cd $(srcdir) \ cd $(srcdir) \
&& glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --header --skip-source >> xgen-gmh \
&& glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --body >> xgen-gmc \ && glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --body >> xgen-gmc \
&& cp xgen-gmc gtkmarshal.c \ && cp xgen-gmc gtkmarshal.c \
&& (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \ && rm -f xgen-gmc xgen-gmc~
&& rm -f xgen-gmh xgen-gmc xgen-gmh~ xgen-gmc~ \
&& echo timestamp > stamp-gtkmarshal.h
$(srcdir)/stamp-gtktypebuiltins.h: @REBUILD@ maketypes.awk stamp-gtk.defs gtktypebuiltins.h $(srcdir)/stamp-gtktypebuiltins.h: @REBUILD@ maketypes.awk stamp-gtk.defs gtktypebuiltins.h
cd $(srcdir) \ cd $(srcdir) \
&& LC_ALL=C $(AWK) -f maketypes.awk gtk.defs macros > xgen-gtbh \ && LC_ALL=C $(AWK) -f maketypes.awk gtk.defs macros > xgen-gtbh \
@ -516,6 +478,28 @@ $(srcdir)/gtktypebuiltins_evals.c: @REBUILD@ makeenums.pl $(gtk_public_h_sources
&& rm -f xgen-gtbec && rm -f xgen-gtbec
# target platform:
lib_ltlibraries = @gtktargetlib@
# now define the real one to workaround automake's mishandling
lib_LTLIBRARIES = $(lib_ltlibraries)
if USE_X11
libgtk_x11_includedir = $(includedir)/gtk-2.0/gtk
libgtk_x11_include_HEADERS = $(gtk_target_headers)
libgtk_x11_1_3_la_SOURCES = $(gtk_target_sources)
endif
if USE_NANOX
libgtk_nanox_includedir = $(includedir)/gtk-2.0/gtk
libgtk_nanox_include_HEADERS = $(gtk_target_headers)
libgtk_nanox_1_3_la_SOURCES = $(gtk_target_sources)
endif
if USE_LINUX_FB
libgtk_linux_fb_includedir = $(includedir)/gtk-2.0/gtk
libgtk_linux_fb_include_HEADERS = $gtk_target_headers)
libgtk_linux_fb_1_3_la_SOURCES = $(gtk_target_sources)
endif
EXTRA_LTLIBRARIES = libgtk-x11-1.3.la libgtk-nanox-1.3.la libgtk-linux-fb-1.3.la
gtkconfdir = $(sysconfdir)/gtk-2.0 gtkconfdir = $(sysconfdir)/gtk-2.0
gtkconf_DATA = gtkrc.el gtkrc.eo gtkrc.he gtkrc.hy gtkrc.ja \ gtkconf_DATA = gtkrc.el gtkrc.eo gtkrc.he gtkrc.hy gtkrc.ja \
gtkrc.ko gtkrc.ru gtkrc.tr gtkrc.th gtkrc.uk gtkrc.iso-8859-2 \ gtkrc.ko gtkrc.ru gtkrc.tr gtkrc.th gtkrc.uk gtkrc.iso-8859-2 \
@ -528,33 +512,31 @@ gtkconf_DATA = gtkrc.el gtkrc.eo gtkrc.he gtkrc.hy gtkrc.ja \
# We create a dummy theme for the default GTK+ theme # We create a dummy theme for the default GTK+ theme
install-data-local: install-data-local:
$(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0 $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0
echo "# Empty gtkrc for default theme" > \ echo "# Empty gtkrc for default theme" > $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
$(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
$(mkinstalldirs) $(DESTDIR)$(gtkconfdir) $(mkinstalldirs) $(DESTDIR)$(gtkconfdir)
cd $(DESTDIR)$(gtkconfdir) && \ cd $(DESTDIR)$(gtkconfdir) \
for i in cs hr hu pl ro sk sl sq sr ; do \ && for i in cs hr hu pl ro sk sl sq sr ; do \
rm -f gtkrc.$$i ; \ rm -f gtkrc.$$i ; \
ln -s gtkrc.iso-8859-2 gtkrc.$$i ; \ ln -s gtkrc.iso-8859-2 gtkrc.$$i ; \
done ; \ done \
for i in bg_BG.iso88595 mk sp ru_RU.iso88595 ; do \ && for i in bg_BG.iso88595 mk sp ru_RU.iso88595 ; do \
rm -f gtkrc.$$i ; \ rm -f gtkrc.$$i ; \
ln -s gtkrc.iso-8859-5 gtkrc.$$i ; \ ln -s gtkrc.iso-8859-5 gtkrc.$$i ; \
done ; \ done \
rm -f gtkrc.lt gtkrc.lv gtkrc.cy gtkrc.ga gtkrc.et gtkrc.ka \ && rm -f gtkrc.lt gtkrc.lv gtkrc.cy gtkrc.ga gtkrc.et gtkrc.ka \
gtkrc.vi_VN.viscii111 gtkrc.vi_VN.tcvn5712 gtkrc.vi \ gtkrc.vi_VN.viscii111 gtkrc.vi_VN.tcvn5712 gtkrc.vi \
gtkrc.be gtkrc.bg ; \ gtkrc.be gtkrc.bg \
ln -s gtkrc.iso-8859-13 gtkrc.lt ; \ && ln -s gtkrc.iso-8859-13 gtkrc.lt \
ln -s gtkrc.iso-8859-13 gtkrc.lv ; \ && ln -s gtkrc.iso-8859-13 gtkrc.lv \
ln -s gtkrc.iso-8859-14 gtkrc.cy ; \ && ln -s gtkrc.iso-8859-14 gtkrc.cy \
ln -s gtkrc.iso-8859-14 gtkrc.ga ; \ && ln -s gtkrc.iso-8859-14 gtkrc.ga \
ln -s gtkrc.iso-8859-15 gtkrc.et ; \ && ln -s gtkrc.iso-8859-15 gtkrc.et \
ln -s gtkrc.ka_GE.georgianacademy gtkrc.ka ; \ && ln -s gtkrc.ka_GE.georgianacademy gtkrc.ka \
ln -s gtkrc.vi_VN.viscii gtkrc.vi_VN.viscii111 ; \ && ln -s gtkrc.vi_VN.viscii gtkrc.vi_VN.viscii111 \
ln -s gtkrc.vi_VN.tcvn gtkrc.vi_VN.tcvn5712 ; \ && ln -s gtkrc.vi_VN.tcvn gtkrc.vi_VN.tcvn5712 \
ln -s gtkrc.vi_VN.tcvn5712 gtkrc.vi ; \ && ln -s gtkrc.vi_VN.tcvn5712 gtkrc.vi \
ln -s gtkrc.cp1251 gtkrc.be ; \ && ln -s gtkrc.cp1251 gtkrc.be \
ln -s gtkrc.cp1251 gtkrc.bg && ln -s gtkrc.cp1251 gtkrc.bg
uninstall-local: uninstall-local:
rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
@ -621,7 +603,7 @@ test-debug: testgtk
$(SHELL) $$top_builddir/libtool --mode=execute gdb $$builddir/testgtk $(SHELL) $$top_builddir/libtool --mode=execute gdb $$builddir/testgtk
EXTRA_DIST += @STRIP_BEGIN@ \ EXTRA_DIST += @STRIP_BEGIN@ \
OLD_STAMP \ oldest-source-stamp \
testgtk.1 \ testgtk.1 \
testgtkrc \ testgtkrc \
testgtkrc2 \ testgtkrc2 \

View File

View File

@ -1,3 +1,28 @@
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/*
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
#ifndef GTK_TEXT_DISPLAY_H #ifndef GTK_TEXT_DISPLAY_H
#define GTK_TEXT_DISPLAY_H #define GTK_TEXT_DISPLAY_H
@ -7,33 +32,31 @@
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
/* /* A semi-public header intended for use by code that also
A semi-public header intended for use by code that also * uses GtkTextLayout
uses GtkTextLayout */
*/
/* The drawable should be pre-initialized to your preferred background.
* widget - Widget to grab some style info from
* drawable - Drawable to render to
* x_offset/y_offset - Position of the drawable in layout coordinates
* x/y/width/height - Region of the layout to render. x,y must be inside
* the drawable.
*/
void gtk_text_layout_draw (GtkTextLayout *layout,
GtkWidget *widget,
GdkDrawable *drawable,
gint x_offset,
gint y_offset,
gint x,
gint y,
gint width,
gint height);
/* The drawable should be pre-initialized to your preferred
background. */
void gtk_text_layout_draw (GtkTextLayout *layout,
/* Widget to grab some style info from */
GtkWidget *widget,
/* Drawable to render to */
GdkDrawable *drawable,
/* Position of the drawable
in layout coordinates */
gint x_offset,
gint y_offset,
/* Region of the layout to
render. x,y must be inside
the drawable. */
gint x,
gint y,
gint width,
gint height);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /* __cplusplus */ #endif /* __cplusplus */
#endif #endif /* GTK_TEXT_DISPLAY_H */

View File

@ -1,3 +1,28 @@
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/*
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
#ifndef GTK_TEXT_LAYOUT_H #ifndef GTK_TEXT_LAYOUT_H
#define GTK_TEXT_LAYOUT_H #define GTK_TEXT_LAYOUT_H
@ -28,24 +53,24 @@ typedef struct _GtkTextLineData GtkTextLineData;
#define GTK_IS_TEXT_LAYOUT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_LAYOUT)) #define GTK_IS_TEXT_LAYOUT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_LAYOUT))
#define GTK_TEXT_LAYOUT_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_TEXT_LAYOUT, GtkTextLayoutClass)) #define GTK_TEXT_LAYOUT_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_TEXT_LAYOUT, GtkTextLayoutClass))
typedef struct _GtkTextLayout GtkTextLayout; typedef struct _GtkTextLayout GtkTextLayout;
typedef struct _GtkTextLayoutClass GtkTextLayoutClass; typedef struct _GtkTextLayoutClass GtkTextLayoutClass;
typedef struct _GtkTextLineDisplay GtkTextLineDisplay; typedef struct _GtkTextLineDisplay GtkTextLineDisplay;
typedef struct _GtkTextCursorDisplay GtkTextCursorDisplay; typedef struct _GtkTextCursorDisplay GtkTextCursorDisplay;
typedef struct _GtkTextAttrAppearance GtkTextAttrAppearance; typedef struct _GtkTextAttrAppearance GtkTextAttrAppearance;
struct _GtkTextLayout struct _GtkTextLayout
{ {
GtkObject parent_instance; GtkObject parent_instance;
/* width of the display area on-screen, /* width of the display area on-screen,
* i.e. pixels we should wrap to fit inside. */ * i.e. pixels we should wrap to fit inside. */
gint screen_width; gint screen_width;
/* width/height of the total logical area being layed out */ /* width/height of the total logical area being layed out */
gint width; gint width;
gint height; gint height;
/* Pixel offsets from the left and from the top to be used when we /* Pixel offsets from the left and from the top to be used when we
* draw; these allow us to create left/top margins. We don't need * draw; these allow us to create left/top margins. We don't need
* anything special for bottom/right margins, because those don't * anything special for bottom/right margins, because those don't
@ -55,19 +80,19 @@ struct _GtkTextLayout
/* gint top_edge; */ /* gint top_edge; */
GtkTextBuffer *buffer; GtkTextBuffer *buffer;
/* Default style used if no tags override it */ /* Default style used if no tags override it */
GtkTextAttributes *default_style; GtkTextAttributes *default_style;
/* Pango contexts used for creating layouts */ /* Pango contexts used for creating layouts */
PangoContext *ltr_context; PangoContext *ltr_context;
PangoContext *rtl_context; PangoContext *rtl_context;
/* A cache of one style; this is used to ensure /* A cache of one style; this is used to ensure
* we don't constantly regenerate the style * we don't constantly regenerate the style
* over long runs with the same style. */ * over long runs with the same style. */
GtkTextAttributes *one_style_cache; GtkTextAttributes *one_style_cache;
/* A cache of one line display. Getting the same line /* A cache of one line display. Getting the same line
* many times in a row is the most common case. * many times in a row is the most common case.
*/ */
@ -75,7 +100,7 @@ struct _GtkTextLayout
/* Whether we are allowed to wrap right now */ /* Whether we are allowed to wrap right now */
gint wrap_loop_count; gint wrap_loop_count;
/* Whether to show the insertion cursor */ /* Whether to show the insertion cursor */
guint cursor_visible : 1; guint cursor_visible : 1;
}; };
@ -83,42 +108,36 @@ struct _GtkTextLayout
struct _GtkTextLayoutClass struct _GtkTextLayoutClass
{ {
GtkObjectClass parent_class; GtkObjectClass parent_class;
/* Some portion of the layout was invalidated /* Some portion of the layout was invalidated
*/ */
void (* invalidated) (GtkTextLayout *layout); void (*invalidated) (GtkTextLayout *layout);
/* A range of the layout changed appearance and possibly height /* A range of the layout changed appearance and possibly height
*/ */
void (* changed) (GtkTextLayout *layout, void (*changed) (GtkTextLayout *layout,
gint y, gint y,
gint old_height, gint old_height,
gint new_height); gint new_height);
GtkTextLineData* (*wrap) (GtkTextLayout *layout,
GtkTextLine *line,
GtkTextLineData *(* wrap) (GtkTextLayout *layout, GtkTextLineData *line_data); /* may be NULL */
GtkTextLine *line, void (*get_log_attrs) (GtkTextLayout *layout,
/* may be NULL */ GtkTextLine *line,
GtkTextLineData *line_data); PangoLogAttr **attrs,
gint *n_attrs);
void (* get_log_attrs) (GtkTextLayout *layout, void (*invalidate) (GtkTextLayout *layout,
GtkTextLine *line, const GtkTextIter *start,
PangoLogAttr **attrs, const GtkTextIter *end);
gint *n_attrs); void (*free_line_data) (GtkTextLayout *layout,
void (* invalidate) (GtkTextLayout *layout, GtkTextLine *line,
const GtkTextIter *start, GtkTextLineData *line_data);
const GtkTextIter *end);
void (* free_line_data) (GtkTextLayout *layout,
GtkTextLine *line,
GtkTextLineData *line_data);
}; };
struct _GtkTextAttrAppearance struct _GtkTextAttrAppearance
{ {
PangoAttribute attr; PangoAttribute attr;
GtkTextAppearance appearance; GtkTextAppearance appearance;
}; };
struct _GtkTextCursorDisplay struct _GtkTextCursorDisplay
{ {
gint x; gint x;
@ -127,15 +146,14 @@ struct _GtkTextCursorDisplay
guint is_strong : 1; guint is_strong : 1;
guint is_weak : 1; guint is_weak : 1;
}; };
struct _GtkTextLineDisplay struct _GtkTextLineDisplay
{ {
PangoLayout *layout; PangoLayout *layout;
GSList *cursors; GSList *cursors;
GSList *pixbufs; GSList *pixbufs;
GtkTextDirection direction; GtkTextDirection direction;
gint width; /* Width of layout */ gint width; /* Width of layout */
gint total_width; /* width - margins, if no width set on layout, if width set on layout, -1 */ gint total_width; /* width - margins, if no width set on layout, if width set on layout, -1 */
gint height; gint height;
@ -144,16 +162,15 @@ struct _GtkTextLineDisplay
gint right_margin; gint right_margin;
gint top_margin; gint top_margin;
gint bottom_margin; gint bottom_margin;
gboolean size_only; gboolean size_only;
GtkTextLine *line; GtkTextLine *line;
}; };
extern PangoAttrType gtk_text_attr_appearance_type; extern PangoAttrType gtk_text_attr_appearance_type;
GtkType gtk_text_layout_get_type (void) G_GNUC_CONST; GtkType gtk_text_layout_get_type (void) G_GNUC_CONST;
GtkTextLayout *gtk_text_layout_new (void); GtkTextLayout* gtk_text_layout_new (void);
void gtk_text_layout_set_buffer (GtkTextLayout *layout, void gtk_text_layout_set_buffer (GtkTextLayout *layout,
GtkTextBuffer *buffer); GtkTextBuffer *buffer);
void gtk_text_layout_set_default_style (GtkTextLayout *layout, void gtk_text_layout_set_default_style (GtkTextLayout *layout,
@ -164,10 +181,9 @@ void gtk_text_layout_set_contexts (GtkTextLayout *layout,
void gtk_text_layout_default_style_changed (GtkTextLayout *layout); void gtk_text_layout_default_style_changed (GtkTextLayout *layout);
void gtk_text_layout_set_screen_width (GtkTextLayout *layout, void gtk_text_layout_set_screen_width (GtkTextLayout *layout,
gint width); gint width);
void gtk_text_layout_set_cursor_visible (GtkTextLayout *layout,
void gtk_text_layout_set_cursor_visible (GtkTextLayout *layout, gboolean cursor_visible);
gboolean cursor_visible); gboolean gtk_text_layout_get_cursor_visible (GtkTextLayout *layout);
gboolean gtk_text_layout_get_cursor_visible (GtkTextLayout *layout);
/* Getting the size or the lines potentially results in a call to /* Getting the size or the lines potentially results in a call to
* recompute, which is pretty massively expensive. Thus it should * recompute, which is pretty massively expensive. Thus it should
@ -176,21 +192,19 @@ gboolean gtk_text_layout_get_cursor_visible (GtkTextLayout *layout);
* Long-term, we would really like to be able to do these without * Long-term, we would really like to be able to do these without
* a full recompute so they may get cheaper over time. * a full recompute so they may get cheaper over time.
*/ */
void gtk_text_layout_get_size (GtkTextLayout *layout, void gtk_text_layout_get_size (GtkTextLayout *layout,
gint *width, gint *width,
gint *height); gint *height);
GSList* gtk_text_layout_get_lines (GtkTextLayout *layout,
GSList *gtk_text_layout_get_lines (GtkTextLayout *layout,
/* [top_y, bottom_y) */ /* [top_y, bottom_y) */
gint top_y, gint top_y,
gint bottom_y, gint bottom_y,
gint *first_line_y); gint *first_line_y);
void gtk_text_layout_wrap_loop_start (GtkTextLayout *layout); void gtk_text_layout_wrap_loop_start (GtkTextLayout *layout);
void gtk_text_layout_wrap_loop_end (GtkTextLayout *layout); void gtk_text_layout_wrap_loop_end (GtkTextLayout *layout);
GtkTextLineDisplay *gtk_text_layout_get_line_display (GtkTextLayout *layout, GtkTextLineDisplay* gtk_text_layout_get_line_display (GtkTextLayout *layout,
GtkTextLine *line, GtkTextLine *line,
gboolean size_only); gboolean size_only);
void gtk_text_layout_free_line_display (GtkTextLayout *layout, void gtk_text_layout_free_line_display (GtkTextLayout *layout,
@ -219,16 +233,16 @@ void gtk_text_layout_validate_yrange (GtkTextLayout *layout,
void gtk_text_layout_validate (GtkTextLayout *layout, void gtk_text_layout_validate (GtkTextLayout *layout,
gint max_pixels); gint max_pixels);
/* This function should return the passed-in line data, /* This function should return the passed-in line data,
OR remove the existing line data from the line, and * OR remove the existing line data from the line, and
return a NEW line data after adding it to the line. * return a NEW line data after adding it to the line.
That is, invariant after calling the callback is that * That is, invariant after calling the callback is that
there should be exactly one line data for this view * there should be exactly one line data for this view
stored on the btree line. */ * stored on the btree line.
GtkTextLineData *gtk_text_layout_wrap (GtkTextLayout *layout, */
GtkTextLine *line, GtkTextLineData* gtk_text_layout_wrap (GtkTextLayout *layout,
/* may be NULL */ GtkTextLine *line,
GtkTextLineData *line_data); GtkTextLineData *line_data); /* may be NULL */
void gtk_text_layout_get_log_attrs (GtkTextLayout *layout, void gtk_text_layout_get_log_attrs (GtkTextLayout *layout,
GtkTextLine *line, GtkTextLine *line,
PangoLogAttr **attrs, PangoLogAttr **attrs,
@ -269,8 +283,10 @@ void gtk_text_layout_move_iter_visually (GtkTextLayout *layout,
void gtk_text_layout_spew (GtkTextLayout *layout); void gtk_text_layout_spew (GtkTextLayout *layout);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /* __cplusplus */ #endif /* __cplusplus */
#endif #endif /* GTK_TEXT_LAYOUT_H */