2004-08-18 Sven Neumann <sven@gimp.org>
* modules/colorsel_triangle.c: fixed crashes that occured with
small sizes, some code cleanups and a simple optimization.
2004-08-17 Simon Budig <simon@gimp.org>
* modules/colorsel_triangle.c: Made the triangle colorselector
resizeable. Removed minimum size request (would probably need some
testing for *very* small sizes though).
2004-08-15 Sven Neumann <sven@gimp.org>
* modules/colorsel_triangle.c: minor cleanups.
* modules/colorsel_water.c: GimpPreviewArea seems like overkill
here, use a GtkDrawingArea instead.
2003-11-18 Sven Neumann <sven@gimp.org>
* libgimpmodule/gimpmodule.c (gimp_module_open): don't do lazy
binding on GIMP modules. We can't recover from missing symbols
later.
* libgimpwidgets/gimpquerybox.[ch]: renamed "help_page" parameter
to "help_id" and changed the docs accordingly.
* libgimpwidgets/gimpcolordisplay.[ch]
* libgimpwidgets/gimpcolorselector.[ch]: renamed the "help_page"
struct members of GimpColorDisplay and GimpColorSelector to
"help_id".
* app/gui/color-notebook.c
* app/widgets/gimpcoloreditor.c
* libgimpwidgets/gimpcolorbutton.c
* libgimpwidgets/gimpcolornotebook.c
* libgimpwidgets/gimpcolorscales.c
* libgimpwidgets/gimpcolorselect.c
* modules/*.c: changed accordingly. Specify a help id instead of
a HTML page.
2003-07-19 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolornotebook.c: save some space by showing
the stock_id instead of the colorselector's name.
* libgimpwidgets/gimpcolorselect.c
* modules/colorsel_cmyk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: removed now unused mnemonics.
* app/widgets/gimpcoloreditor.c: no need to strip mnemonics from
the name here any longer.
2003-01-05 Manish Singh <yosh@gimp.org>
* many files in app, modules and libgimp*: cleanup, removed unecessary
G_OBJECT() casts. Should do the same for plug-ins, when more of them
get undeprecated.
2003-01-02 Michael Natterer <mitch@gimp.org>
* libgimpmodule/gimpmodule.[ch]: added GIMP_MODULE_ABI_VERSION
define and a "guint32 abi_version" field to GimpModuleInfo. When
querying a module, check if it was compiled against the same ABI
version as the code loading it. Fixes bug #5744.
* modules/cdisplay_colorblind.c
* modules/cdisplay_gamma.c
* modules/cdisplay_highcontrast.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: changed accordingly.
2002-11-05 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolorselector.[ch]: added virtual functions
set_toggles_visible() and set_toggles_sensitive(). Added a
stock_id. Emit "color_changed" and "channel_changed" on
set_color() and set_channel() resp.
* libgimpwidgets/gimpcolornotebook.[ch]: implement the new
methods. Added gimp_color_notebook_set_has_page() to control
which selectors a notebook contains.
* libgimpwidgets/gimpcolorscales.[ch]: removed the toggle
API and implement the new methods.
* libgimpwidgets/gimpcolorselect.c: added toggle buttons for the
channels so the widget doesn't need external ones.
* app/gui/color-notebook.c: changed accordingly.
* libgimpwidgets/gimpstock.[ch]
* themes/Default/images/Makefile.am
* themes/Default/images/stock-color-triangle-16.png: added a
(bad) icon for the triangle color selector.
* modules/colorsel_triangle.c: use the new icon.
* modules/colorsel_water.c: use the "Paintbrush" icon for now.
* app/widgets/gimpcoloreditor.[ch]: new widget for editing the
FG/BG color featuring a color notebook, stock buttons for
selecting the pages and a GimpPickButton.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h: changed accordingly.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: added a dockable wrapper for GimpColorEditor.
* app/gui/menus.c: added it to the menus. Also added separate
Layers, Channels and Paths entries. Bind <ctrl>L to the new
callback so it doesn't always create a new layers dialog.
2002-10-30 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolorselect.c: use a mnemonic that doesn't
collide with the rest of the dialog.
* modules/Makefile.am
* modules/colorsel_gtk.c: removed the GTK color selector module.
* modules/cdisplay_gamma.c
* modules/cdisplay_highcontrast.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: translate in the gimp14-libgimp domain.
2002-10-30 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolornotebook.c: create the notebook labels
with mnemonics.
* libgimpwidgets/gimpcolorselect.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: added mnemonics to the tab strings.
* libgimpwidgets/gimpcolorscale.c: looks finished now.
* libgimpwidgets/gimpcolorscales.c: tie the test color scale to
the right channel adjustment and update its color and channel
accordingly. Added mnemonics for the channels.
2002-10-28 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolorscales.[ch]: the color scales from
the main color selection as GimpColorSelector subclass.
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetsmarshal.list
* libgimpwidgets/gimpwidgetstypes.h: changed accordingly.
* libgimpwidgets/gimpcolornotebook.c: skip it when iterating the
GimpColorSelector subclasses.
* libgimpwidgets/gimpcolorselector.[ch]: added virtual function
set_has_alpha() amd signal "channel_changed". Put RGB, HSV and
channel values into to the GimpColorSelector struct where they are
available for subclasses.
* libgimpwidgets/gimpcolorselect.[ch]
* modules/colorsel_triangle.c
* modules/colorsel_water.c: changed accordingly, cleanup.
* app/gui/color-notebook.[ch]: use the new GimpColorScales widget,
lots of cleanup.
2002-10-28 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/tmpl/gimpcolorscales.sgml: added GimpColorScales.
* libgimpwidgets/libgimpwidgets-docs.sgml
* libgimpwidgets/libgimpwidgets-sections.txt
* libgimpwidgets/libgimpwidgets.types
* libgimpwidgets/tmpl/gimpcolorselect.sgml
* libgimpwidgets/tmpl/gimpcolorselector.sgml; updated.
2002-10-20 Michael Natterer <mitch@gimp.org>
* app/core/gimpmoduleinfo.[ch]
* libgimp/gimpmodule.h: separated module query from type
registration by adding a separate "gimp_module_query" function
which must be implemented by modules. Make local copies of the
strings returned by the query function.
* app/core/gimpmodules.c
* app/gui/module-browser.c: changed accordingly.
* modules/cdisplay_gamma.c
* modules/cdisplay_highcontrast.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: added the gimp_module_query() functions.
2002-10-20 Michael Natterer <mitch@gimp.org>
Ported module loading to GTypeModule, getting rid of all own
module registering/bookkeeping stuff for color selectors and
display filters. The modules now simply register GimpColorSelector
and GimpColorDisplay subclasses, the list of registered subclasses
can then be obtained calling g_type_children() on the abstract
base classes.
This is work in progress and just the first working state after I
started breaking everything...
* app/gui/color-select.[ch]
* libgimp/gimpcolordisplay.h
* libgimp/gimpcolorselector.h: removed.
* app/gui/Makefile.am
* libgimp/Makefile.am: changed accordingly.
* libgimp/gimpmodule.h: massively simplified. All voodoo is gone.
* libgimpwidgets/gimpcolordisplay.[ch]
* libgimpwidgets/gimpcolorselector.[ch]: new abstract base classes
which need to be subclassed by modules.
* libgimpwidgets/gimpcolorselect.[ch]: the built-in color selector
from app/gui/color-select.* ported to be a GimpColorSelector
subclass.
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetsmarshal.list
* libgimpwidgets/gimpwidgetstypes.h: changed accordingly.
* app/core/gimpmoduleinfo.[ch]: made it a GTypeModule subclass
* app/core/gimpmodules.c: changed accordingly.
* app/core/gimpcontainer.c
* app/core/gimplist.c: HACKED around to allow GimpLists of
GObjects (not GimpObjects). This is EEKy, so I will either make
gimp->modules a simple GList and revert this bit of change, or
allow GObjects all over the place in GimpContainer land...
* app/display/gimpdisplayshell-filter.[ch]
* app/gui/color-notebook.c: removed all module stuff and use
g_type_children() to get the list of available color_selectors
and display_filters.
* app/display/gimpdisplayshell-filter-dialog.c
* app/display/gimpdisplayshell-render.c
* app/gui/module-browser.c: changed accordingly.
* app/gui/gui.c: ref the built-in color selector's class before
the modules are queried so it appears first in the list of
GimpColorSelector's children.
* modules/Makefile.am: build the water color selector again.
* modules/cdisplay_gamma.c
* modules/cdisplay_highcontrast.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: ported them all to the new API.
* modules/gimpmodregister.[ch]: removed the old EMX module hack.
2002-09-01 Manish Singh <yosh@gimp.org>
* modules/Makefile.am: use AM_CPPFLAGS instead of CPPFLAGS
* modules/cdisplay_gamma.c
* modules/cdisplay_highcontrast.c: changed deprecated calls
* modules/colorsel_triangle.c: #undef GTK_DISABLE_DEPRECATED,
still needs to be fixed for use of GtkPreview
2001-10-29 Sven Neumann <sven@gimp.org>
* app/base/temp-buf.c (temp_buf_to_gray): rewrote so gcc-3.0 doesn't
complain.
* app/widgets/gimpfontselection-dialog.c: use g_ascii_strcasecmp().
* libgimp/gimpintl.h
* libgimp/stdplugins-intl.h
* plug-ins/script-fu/script-fu-intl.h: don't call gtk_set_locale()
since gtk_init() does it for us now. Don't set LC_NUMERIC to "C".
INIT_I18N_UI() is the same as INIT_I18N_UI() now.
* app/devices.c
* app/gimprc.c
* app/core/gimpbrushgenerated.c
* app/core/gimpgradient.c
* app/gui/color-notebook.c
* app/gui/gradients-commands.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c
* plug-ins/gimpressionist/presets.c
* plug-ins/ifscompose/ifscompose_storage.c: use g_ascii_formatd() and
g_ascii_strtod() to serialize and deserialize floats. These functions
are locale-independent. There are probably more places that need to be
fixed in this fashion.
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-server.c
* plug-ins/script-fu/script-fu.c: s/INIT_I18N_UI/INIT_I18N/
* tools/gimp-remote.c
* app/widgets/gimpwidgets-utils.c
* app/core/gimpimage-contiguous-region.c
* app/paint-funcs/paint-funcs-indexeda.c
* app/paint-funcs/paint-funcs.c
* app/tools/gimppathtool.c
* app/tools/path_tool.c
* modules/colorsel_triangle.c
* plug-ins/common/mpeg.c
* plug-ins/imagemap/imap_csim_parse.c: cleanups
2001-05-30 Michael Natterer <mitch@gimp.org>
* app/base/Makefile.am
* app/core/Makefile.am
* app/gui/Makefile.am
* app/paint-funcs/Makefile.am: added makefile.msc to EXTRA_DIST.
* app/core/gimpimage.c: don't try to create previews with width or
height < 1.
* app/gui/color-notebook.c: Major (??) dialog repacking. Don't
show an action_area for the main color selection (it's now about
half the size of the 1.2 one).
* libgimp/gimpcolorselector.h: define some gui size constants
here.
* app/gui/color-select.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: use the constants and removed the
spacing around the main container.
* libgimpwidgets/gimpcolorarea.[ch]: rendering in the idle loop
fixes a race condition when accessing widget->window during widget
resizing.
* modules/Makefile.am: disabled the "GTK" color notebook page (we
will put the GtkHSV widget of gtk+ 2.0 here).
2001-05-30 Michael Natterer <mitch@gimp.org>
* libgimpmath/libgimpmath-docs.sgml: s/libgimpcolor/libgimpmath/.
2001-01-21 Simon Budig <simon@gimp.org>
* modules/colorsel_triangle.c: Fixed the "disappearing
triangle" bug. The triangle happens to be more triangular
now too... :-)
2001-01-16 Sven Neumann <sven@gimp.org>
* libgimp/gimpcolorspace.c: fixed RGB to HSV routine
* app/color_notebook.c: tweaked dialog layout a little, disabled
toggle_buttons if the colorselector does not implement the set_channel
method.
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: removed empty set_channel methods
2001-01-15 Michael Natterer <mitch@gimp.org>
* app/color_notebook.c
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c: tweaked dialog layout a bit.
* modules/colorsel_water.c: removed all widgets except the color
selector itself (the history and the "Reset" button will go
to the ColorNotebook).
2001-01-15 Michael Natterer <mitch@gimp.org>
* app/color_notebook.[ch]
* app/color_select.c
* libgimp/gimpcolorselector.h
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: use GimpRGB and GimpHSV.
* libgimp/gimpcolor.c
* libgimp/gimpcolorspace.[ch]: All rgb_to_hsv functions:
if r == g == b the difference between the max and min value
is 0 and we should avoid to divide by it ;-)
2001-01-09 Michael Natterer <mitch@gimp.org>
* app/color_notebook.[ch]
* app/color_select.c: moved the scales and the toggle butttons out
of the notebook. Added an "Aplha" scale (the opacity is not yet
shown in the color area). Removed the ColorNotebook structure from
the header.
* app/color_area.c: the ColorNotebook struct is no longer public.
* libgimp/gimpcolorselector.h
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: changed the ColorSelector module
interface again: Pass H, S, V, R, G, B and A in all functions
and callbacks. Added a "set_channel" method because the channel
toggles are outside the notebook now. This needs more work...
2001-01-08 Michael Natterer <mitch@gimp.org>
* app/color_notebook.[ch]
* app/color_select.c: moved the "old" and "new" color areas from the
notebook to the action_area.
* TODO.xml: updated.
* app/color_area.c
* app/color_panel.c
* app/colormap_dialog.c
* app/palette.c
* libgimp/gimpcolorselector.h
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: removed the "set_current" parameter all
over the place because it was always TRUE and not used in the modules
at all.
2001-01-07 Michael Natterer <mitch@gimp.org>
* app/by_color_select.c
* app/channels_dialog.c
* app/color_area.c
* app/color_notebook.[ch]
* app/color_panel.[ch]
* app/color_picker.c
* app/color_select.c
* app/colormap_dialog.i.c
* app/devices.c
* app/disp_callbacks.[ch]
* app/gimpdnd.[ch]
* app/palette.c
* app/qmask.c
* libgimp/gimpcolorselector.h
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: made the color_notebook, the color_area
and DND speak in terms of RGBA instead of GRB. The alpha value is
not used yet, only the API changed. Everything should work exactly
as before.
2001-01-01 Michael Natterer <mitch@gimp.org>
* plug-ins/libgck/gck/gck.h
* plug-ins/libgck/gck/gckcolor.c: removed the GckRGB color type
and all it's functions.
* libgimp/Makefile.am
* libgimp/gimpcolor.[ch]: new files containing the new GimpRGB color
type and assorted functions.
* libgimp/gimpcolorspace.[ch]: colorspace conversion routines for
the new GimpRGB type. Also taken from LibGCK.
* libgimp/gimp.h
* libgimp/gimptypes.h: #include "gimpcolor.h". It's ugly to include
it in both files but unavoidable to follow our new "*.c" file include
policy. This will go away as libgimp will be chopped up into pieces
anyway.
* app/apptypes.h
* app/asupsample.[ch]
* app/blend.c
* app/color_transfer.h
* app/gradient_header.h: removed "color_t" and use GimpRGB instead.
* plug-ins/Lighting/lighting_apply.c
* plug-ins/Lighting/lighting_image.c
* plug-ins/Lighting/lighting_image.h
* plug-ins/Lighting/lighting_main.c
* plug-ins/Lighting/lighting_main.h
* plug-ins/Lighting/lighting_preview.c
* plug-ins/Lighting/lighting_shade.c
* plug-ins/Lighting/lighting_shade.h
* plug-ins/MapObject/mapobject_apply.c
* plug-ins/MapObject/mapobject_image.c
* plug-ins/MapObject/mapobject_image.h
* plug-ins/MapObject/mapobject_main.c
* plug-ins/MapObject/mapobject_main.h
* plug-ins/MapObject/mapobject_preview.c
* plug-ins/MapObject/mapobject_shade.c
* plug-ins/MapObject/mapobject_shade.h
* modules/colorsel_triangle.c: s/GckRGB/GimpRGB/g
* plug-ins/gdyntext/gdyntextcompat.h: check also for GIMP's minor
version when deciding if to add a missing PDB wrapper.
(All this compat cruft including libgimp/gimpcompat.h should go
away ASAP)
2000-12-31 Michael Natterer <mitch@gimp.org>
More preparation for LibGCK removal:
* libgimp/gimpcolorspace.[ch]: added a "_int" suffix to all functions
operating on 3 gint pointers, just like the gdouble functions have
a "_double" suffix.
* app/color_balance.c
* app/hue_saturation.c
* app/paint_funcs.c
* modules/colorsel_triangle.c
* plug-ins/common/CML_explorer.c
* plug-ins/common/scatter_hsv.c
* plug-ins/common/sparkle.c
* plug-ins/common/vinvert.c
* plug-ins/gflare/gflare.c: changed accordingly.
2000-12-29 Simon Budig <simon@gimp.org>
* modules/colorsel_triangle.c Fixed the same 16->8bit conversion
bug as in gimp-1-2 and removed duplicated code.
2000-12-28 Simon Budig <simon@gimp.org>
* gimp_splash.ppm A new splash...
* gimp1_2_splash.ppm A new file for the old splash
* modules/colorsel_triangle.c Fixed a warning.
2000-01-25 Michael Natterer <mitch@gimp.org>
* configure.in
* po-plug-ins/POTFILES.in
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl
* plug-ins/megawidget/*: removed. (There were only 3 functions
left which were used by ~5 plugins, so I moved the resp. functions
to the plugins). More preview stuff to come...
* app/airbrush_blob.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: use G_PI instead of M_PI.
* app/procedural_db.h
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: new PDB return value STATUS_CANCEL which
indicates that "Cancel" was pressed in a plugin dialog. (Useful
only for file load/save plugins).
* app/fileops.[ch]
* app/menus.c: changes to handle STATUS_CANCEL correctly. Did some
code cleanup in fileops.[ch]. Pop up a warning if File->Save
failed.
* app/plug_in.c: return_val[0] is of type PDB_STATUS, not
PDB_INT32.
* libgimp/gimpmath.h: new constant G_MAXRAND which equals to
RAND_MAX if it exists or to G_MAXINT otherwise.
* libgimp/gimpwidgets.[ch]: new function gimp_random_seed_new()
which creates a spinbutton and a "Time" toggle.
Call the function which does the "set_sensitive" magic from the
radio button callback.
* plug-ins/[75 plugins]:
- Return STATUS_CANCEL in all file load/save dialogs if "Cancel"
was pressed.
- Standardized the file plugins' "run" functions.
- Use G_PI and G_MAXRAND everywhere.
- Added tons of scales and spinbuttons instead of text entries.
- Applied uniform packing/spacings all over the place.
- Reorganized some UIs (stuff like moving the preview to the top
left corner of the dialog).
- Removed many ui helper functions and callbacks and use the stuff
from libgimp instead.
- I tried not to restrict the range of possible values when I
replaced entries with spinbuttons/scales but may have failed,
though in some cases. Please test ;-)
- #include <libgimp/gimpmath.h> where appropriate and use it's
constants.
- Indentation, s/int/gint/ et.al., code cleanup.
RFC: The plugins are definitely not useable with GIMP 1.0 any
more, so shouldn't we remove all the remaining compatibility
stuff ??? (like "#ifdef GIMP_HAVE_PARASITES")
1999-10-03 Michael Natterer <mitch@gimp.org>
The GIMP Help System part II: press "F1" while browsing a menu
to show the help page for the menu entry you're currently over
with the mouse.
* app/color_notebook.c: all color selectors have to register with
a help page now.
* app/color_select.[ch]: register with a help string. Removed
the dialog part of the files because it's use was deprecated
anyway (use color notebooks instead).
* app/colormap_dialog.i.c
* app/colormap_dialog.p.h
* app/palette.c
* app/palette_select.c: use a color notebook instead of a color
selector.
* app/gimphelp.c
* app/gimpui.c: minor changes.
* app/gimprc.c: "use help" defaults to TRUE now.
* app/lc_dialog.c
* app/lc_dialogP.h: a special help function which shows the help
for the currently selected notebook page.
* app/menus.c: some weird code which catches "key_press_event"
in all menu shells and pops up the corresp. help page for the
selected item. Embedded the GtkItemFactoryEntry in a new
GimpItemFactoryEntry to allow a help path to be stored.
Will be partially exported and moved to gimphelp.[ch] later to
catch key_press for plug-in menu items (don't try this now ;-)
* app/app_procs.c
* app/brush_edit.c
* app/brush_select.c
* app/channel_ops.c
* app/channels_dialog.c
* app/commands.c
* app/convert.c
* app/devices.c
* app/file_new_dialog.c
* app/fileops.c
* app/gdisplay.c
* app/gdisplay_color.c
* app/gdisplay_color_ui.c
* app/gdisplay_ops.c
* app/global_edit.c
* app/gradient.c
* app/gradient_select.c
* app/interface.c
* app/layers_dialog.c
* app/module_db.c
* app/paths_dialog.c
* app/pattern_select.c
* app/preferences_dialog.c
* app/qmask.c
* app/resize.c
* app/undo_history.c: changed all dialog constructors to point
to the right place in the new help file structure.
* configure.in
* help/*: the basic new help file structure.
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: register a help page.
* plug-ins/helpbrowser/helpbrowser.c: load the help files
according to the new help file structure.
* configure.in acconfig.h: Check for mmap.
* modules/colorsel_triangle.c: No need to include gdkx.h. Define
M_PI if needed.
* modules/makefile.msc: Use GLib 1.3, update GTk+ paths.
Sat Jan 23 20:36:06 GMT 1999 Austin Donnelly <austin@gimp.org>
* app/color_select.c: don't try and gdk_window_get_size() when we
haven't been realised yet.
* app/gimpset.[ch]: allow the use of GTK_TYPE_NONE for storing
sets of things that aren't GTK_OBJECTs. Set can also emit new
signal "member_modified" when gimp_set_member_modified (set,
ob) is called.
* app/layers_dialog.c: show main dialog shell last, to avoid ugly
window manager interaction.
* app/module_db.c: can now handle not having any modules at all
without segfaulting, plus proper updates on changes. Also now
has refresh button to re-scan the filesystem for modules.
* modules/colorsel_triangle.c: added module_unload() function.
Still needs someone to spruce up the UI. Volunteers?
* plug-ins/script-fu/scripts/select_to_image.scm: create display
for newly duplicated image, otherwise you don't see anything.