Luboš Luňák
e6069e9cf6
Arghl. Again a stupid bug caused by float having poor precision.
...
Reverting r700026 and changing floats to doubles again. I'd probably like
to change even the ones interfacing with OpenGL which I've left for now.
svn path=/trunk/KDE/kdebase/workspace/; revision=707987
2007-09-03 15:00:43 +00:00
Arto Hytönen
e1c6433c8e
pass-by-value -> reference-to-count fixes
...
svn path=/trunk/KDE/kdebase/workspace/; revision=707741
2007-09-02 20:01:17 +00:00
Arto Hytönen
f3fbc3665b
explicit ctors
...
svn path=/trunk/KDE/kdebase/workspace/; revision=707717
2007-09-02 19:11:09 +00:00
Rivo Laks
d618ba8d23
Turn paintText() into two generic methods: one just paints the text, the other also paints
...
background. Move the methods into kwineffects.*
svn path=/trunk/KDE/kdebase/workspace/; revision=707699
2007-09-02 18:20:36 +00:00
Pino Toscano
44bab7a4eb
set the autoFillBackground for the preview widget, so it's painted correctly clearing the garbage below
...
svn path=/trunk/KDE/kdebase/workspace/; revision=707412
2007-09-01 20:04:10 +00:00
Arto Hytönen
b494cddaa9
includes, include guards and typos fixed
...
svn path=/trunk/KDE/kdebase/workspace/; revision=705066
2007-08-27 04:31:52 +00:00
Rivo Laks
cc2600100c
Add a method to render round box with a dark edge and use it for alt-tab's frame.
...
Now the frame has a slight edge/border around it which makes it look much better IMHO.
svn path=/trunk/KDE/kdebase/workspace/; revision=704310
2007-08-24 15:44:52 +00:00
Thiago Macieira
d2aee14a35
Remove use of k_funcinfo
...
svn path=/trunk/KDE/kdebase/workspace/; revision=702583
2007-08-20 21:33:48 +00:00
Luboš Luňák
d846a1e8a9
Use always float as the floating point type for compositing
...
(http://lists.kde.org/?l=kwin&m=118493073424327&w=2 ).
svn path=/trunk/KDE/kdebase/workspace/; revision=700026
2007-08-14 15:22:23 +00:00
Luboš Luňák
5a50381e1f
Move the shader used for painting to WindowPaintData, as it's
...
more related to one painting than to a window.
svn path=/trunk/KDE/kdebase/workspace/; revision=698576
2007-08-10 11:26:58 +00:00
Luboš Luňák
30eb55863c
Make WindowPaintData ctor require an EffectWindow argument,
...
which is used to fill it in. Makes thumbnails work again.
svn path=/trunk/KDE/kdebase/workspace/; revision=697961
2007-08-08 14:42:06 +00:00
Laurent Montel
994c800d79
Adapt to new KWarning/kFatal/kDebug api
...
svn path=/trunk/KDE/kdebase/workspace/; revision=695877
2007-08-03 06:59:24 +00:00
Aaron J. Seigo
b9c69f425b
various ebn fixes (markup, uninling, QString())
...
svn path=/trunk/KDE/kdebase/workspace/; revision=692765
2007-07-26 07:51:16 +00:00
Aaron J. Seigo
dd72494b2b
these are all cheap to pass around and make ebn happy
...
svn path=/trunk/KDE/kdebase/workspace/; revision=692309
2007-07-25 10:28:57 +00:00
Alex Merry
4f509f0360
Apidocs mainpage work. Just got Plasma and Solid to do here.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=691959
2007-07-24 18:30:36 +00:00
Luboš Luňák
56eeb84acc
More checks that quads are split only in pre-paint and transformed
...
only in paint.
svn path=/trunk/KDE/kdebase/workspace/; revision=689945
2007-07-19 16:11:27 +00:00
Luboš Luňák
023ebc47b1
Implement smoothNeeded() - window quads need smoothing if width or height
...
of some of them has changed.
svn path=/trunk/KDE/kdebase/workspace/; revision=689942
2007-07-19 15:55:04 +00:00
Luboš Luňák
dbade7f1a4
No public texture coordinates.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=689926
2007-07-19 14:56:25 +00:00
Luboš Luňák
9400def76b
Set also original position when making a copy of a quad.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=689924
2007-07-19 14:53:37 +00:00
Luboš Luňák
4dd8d34c8f
Don't make texture coordinates in WindowVertex public at all,
...
the meaning may possibly change in the future if more than one texture
is used. Instead store original coordinates.
svn path=/trunk/KDE/kdebase/workspace/; revision=689918
2007-07-19 14:35:55 +00:00
Rivo Laks
7273d0ddb5
Add setTransformed() helper method
...
svn path=/trunk/KDE/kdebase/workspace/; revision=689913
2007-07-19 14:05:59 +00:00
Luboš Luňák
96aba51960
Add a helper to turn on transparency in pre-paint calls.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=689910
2007-07-19 13:32:46 +00:00
Luboš Luňák
e1c5f18414
Separate rendering for decoration and window contents, they can have
...
different opacity (opacity only for decoration option).
svn path=/trunk/KDE/kdebase/workspace/; revision=689855
2007-07-19 10:07:49 +00:00
Luboš Luňák
b7ae1af212
Pedantic.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=689597
2007-07-18 16:42:21 +00:00
Luboš Luňák
c29c66832d
Make quads carry information about whether the quad is part
...
of decoration or the actual window contents.
svn path=/trunk/KDE/kdebase/workspace/; revision=689554
2007-07-18 15:01:59 +00:00
Pino Toscano
d7b200945d
use QtModule/QFoo includes
...
svn path=/trunk/KDE/kdebase/workspace/; revision=687987
2007-07-14 23:26:49 +00:00
Pino Toscano
0b6477e90e
use QtModule/QFoo includes
...
svn path=/trunk/KDE/kdebase/workspace/; revision=687972
2007-07-14 22:40:00 +00:00
Rivo Laks
b027b57233
Shaders can now use cursorX and cursorY uniform variables
...
svn path=/trunk/KDE/kdebase/workspace/; revision=687375
2007-07-13 13:10:31 +00:00
Allen Winter
5c93175949
remove kde4_automoc()
...
svn path=/trunk/KDE/kdebase/workspace/; revision=685984
2007-07-10 09:14:12 +00:00
Luboš Luňák
5faa397849
Vertex redesign - redo the way windows are split into smaller parts
...
for use in effects (and not only). Now a list of window quads (=window areas)
is created at the beginning of the paint pass, prepaint calls can modify
the split itself (i.e. divide it into more parts). The actual paint calls
can then modify these quads (i.e. transform their geometry). This will allow
better control of how the split is done and also allow painting e.g. only
the decoration differently. Still work in progress, but it works.
Also pass data to prepaint functions in a struct, as there is
already quite a number of them.
svn path=/trunk/KDE/kdebase/workspace/; revision=684893
2007-07-07 14:01:32 +00:00
Rivo Laks
42a4d364c2
Add a generic function to render a box with rounded corners.
...
Algorithm is basically same as for shadow, perhaps even shadow will use it.
svn path=/trunk/KDE/kdebase/workspace/; revision=683514
2007-07-04 20:33:35 +00:00
Rivo Laks
2632c2ff56
Add ShaderEffect class which provides generic support for fullscreen shader effects
...
svn path=/trunk/KDE/kdebase/workspace/; revision=683160
2007-07-04 09:54:32 +00:00
Luboš Luňák
cc091a7704
Interesting way of checking if a decoration needs a hard reset - as soon
...
as one thing that does not need it has changed, it is not needed, regardless
of the rest. Even more interestingly several styles have exactly the same
copy of this nonsense.
CCMAIL: kwin@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=678025
2007-06-20 13:38:17 +00:00
Rivo Laks
65bc41c518
Argh.. fix typo
...
svn path=/trunk/KDE/kdebase/workspace/; revision=675479
2007-06-14 10:36:02 +00:00
Rivo Laks
424f906ab2
- Add optional color argument to renderGLGeometry() functions. If specified, it's used as vertex colors
...
array when rendering.
- Rearrange some renderGLGeometry() parameters.
- Don't use opengl arrays and glDrawArrays() when rendering a small number of vertices since in this
case overhead of enabling/disabling the array is too big. Use immediate mode instead in such case.
svn path=/trunk/KDE/kdebase/workspace/; revision=675467
2007-06-14 10:05:51 +00:00
Laurent Montel
ab2fa82d7c
Fix include
...
svn path=/trunk/KDE/kdebase/workspace/; revision=675269
2007-06-13 21:26:08 +00:00
Luboš Luňák
acf4e9ce8e
Work around gcc-3.3.3's problem with resolving namespaced symbols.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=673984
2007-06-11 14:35:09 +00:00
Pino Toscano
38267e8ac6
less qt3support
...
svn path=/trunk/KDE/kdebase/workspace/; revision=672194
2007-06-06 10:37:37 +00:00
Dirk Mueller
fea3fa920d
can't install those, they include a non-installed config header
...
svn path=/trunk/KDE/kdebase/workspace/; revision=671974
2007-06-05 22:30:08 +00:00
Daniel Molkentin
ce3ac16f97
enable api docs generation for kwin libs
...
svn path=/trunk/KDE/kdebase/workspace/; revision=671831
2007-06-05 15:31:23 +00:00
Laurent Montel
f32b3e8d92
Remove not necessary "class classname;"
...
svn path=/trunk/KDE/kdebase/workspace/; revision=671233
2007-06-04 08:24:29 +00:00
Luboš Luňák
eb4fb38657
Have a separate list for glx extensions, to avoid mistakes - now initGL()
...
is called after initGLX(), so the glx extensions are reset.
svn path=/trunk/KDE/kdebase/workspace/; revision=669818
2007-05-30 13:55:29 +00:00
Rivo Laks
e9cb72087f
Add 2 static helper methods to EffectHandler:
...
One calls reloadEffect() over dbus to reload given effect (to be used in config modules).
The second one returns KConfigGroup for given effect.
svn path=/trunk/KDE/kdebase/workspace/; revision=669435
2007-05-29 11:46:12 +00:00
Rivo Laks
44b293211c
Options now longer provides list of effects to be loaded.
...
Instead, EffectsHandler itself loads the list of enabled effects (saved by the effects selector widget),
also making use of their EnabledByDefault property, so if you haven't touched the config, you'll
automatically get default effects.
svn path=/trunk/KDE/kdebase/workspace/; revision=669036
2007-05-28 11:23:00 +00:00
Rivo Laks
041673bf86
Effect's name in KWIN_EFFECT*() macros must now match effect's internal name in .desktop file,
...
without kwin4_effect_ prefix, so change the name in those macros to lowercase.
Some modifications to the macros themselves as well.
Effect loading via dcop might work again now.
svn path=/trunk/KDE/kdebase/workspace/; revision=669033
2007-05-28 11:16:18 +00:00
Luboš Luňák
278e721494
Support for keeping a window temporarily at the very top,
...
desktop grid effect raises the window being moved this way.
svn path=/trunk/KDE/kdebase/workspace/; revision=667944
2007-05-24 14:41:56 +00:00
Christian Ehrlicher
e34294972a
fix for KLibrary changes
...
svn path=/trunk/KDE/kdebase/workspace/; revision=664745
2007-05-14 19:46:21 +00:00
Thorsten Roeder
0666147473
some krazy fixes
...
svn path=/trunk/KDE/kdebase/workspace/; revision=664331
2007-05-13 17:47:20 +00:00
Harri Porten
f15f97785b
much better. suggested by David.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=663183
2007-05-10 12:49:57 +00:00
Harri Porten
f18bd0b02d
Patch by Frerich to fix linking for poor BSD users.
...
This cries out to a CMake expert for a configure check.
svn path=/trunk/KDE/kdebase/workspace/; revision=663171
2007-05-10 11:35:45 +00:00
Thorsten Roeder
97b328de46
SVN_SILENT: some krazy spelling fixes mainly in comments
...
svn path=/trunk/KDE/kdebase/runtime/solid/control/solid/; revision=662694
2007-05-08 22:05:30 +00:00
Luboš Luňák
8d9f931cfd
Build properly without OpenGL/XRender.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=662052
2007-05-07 11:46:01 +00:00
Luboš Luňák
6e8ca14379
Svnrevertlast, the file as a whole should be opengl-only.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=661861
2007-05-06 20:39:09 +00:00
Aaron J. Seigo
da80cba35c
compile fixes; and now to find out why it thinks i don't have gl installed ;)
...
svn path=/trunk/KDE/kdebase/workspace/; revision=661574
2007-05-06 00:17:21 +00:00
David Faure
38099ef7e5
Major config.h cleanup, moved much stuff to config-X11.h and to config-fish.h
...
svn path=/trunk/KDE/kdebase/workspace/; revision=661060
2007-05-04 13:51:35 +00:00
Laurent Montel
97b117f449
Fix add version to lib
...
svn path=/trunk/KDE/kdebase/workspace/; revision=660384
2007-05-02 14:48:49 +00:00
Luboš Luňák
ee040a6681
Merging from old trunk:
...
r644597 | mueller | 2007-03-20 15:21:56 +0100 (Tue, 20 Mar 2007) | 2 lines
pedantic--
svn path=/trunk/KDE/kdebase/workspace/; revision=659566
2007-04-30 12:23:20 +00:00
Luboš Luňák
6081a9f0a8
Merging from old trunk:
...
r637475 | mueller | 2007-02-26 16:46:23 +0100 (Mon, 26 Feb 2007) | 2 lines
header cleanness++
svn path=/trunk/KDE/kdebase/workspace/; revision=659554
2007-04-30 12:08:47 +00:00
Luboš Luňák
c2791ad389
Merging from old trunk:
...
r637366 | mueller | 2007-02-26 08:44:18 +0100 (Mon, 26 Feb 2007) | 2 lines
header cleanness++
svn path=/trunk/KDE/kdebase/workspace/; revision=659553
2007-04-30 12:08:23 +00:00
Luboš Luňák
a46d4c9498
Merging from old trunk:
...
r636679 | mueller | 2007-02-23 21:24:36 +0100 (Fri, 23 Feb 2007) | 2 lines
various kconfig portings
svn path=/trunk/KDE/kdebase/workspace/; revision=659551
2007-04-30 12:07:08 +00:00
Luboš Luňák
2c8505e08a
Merging from old trunk:
...
r635264 | mueller | 2007-02-19 17:56:53 +0100 (Mon, 19 Feb 2007) | 2 lines
fix library versioning
svn path=/trunk/KDE/kdebase/workspace/; revision=659548
2007-04-30 12:01:18 +00:00
Luboš Luňák
0bb63f90e9
Compile.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=659536
2007-04-30 11:50:32 +00:00
Luboš Luňák
79ab08b9e9
Merging from old trunk:
...
r629104 | hausmann | 2007-02-01 12:40:13 +0100 (Thu, 01 Feb 2007) | 2 lines
Don't crash due to a missing Q_OBJECT macro
svn path=/trunk/KDE/kdebase/workspace/; revision=659531
2007-04-30 11:45:52 +00:00
Luboš Luňák
9528129717
Merging from old trunk:
...
r608824 | lunakl | 2006-11-28 15:42:48 +0100 (Tue, 28 Nov 2006) | 4 lines
Match defaults.
(BUG: 137889)
svn path=/trunk/KDE/kdebase/workspace/; revision=659468
2007-04-30 09:40:14 +00:00
Luboš Luňák
1f71d535b5
Merging from old trunk:
...
r604645 | mlaurent | 2006-11-13 16:31:59 +0100 (Mon, 13 Nov 2006) | 2 lines
Fix compile with compilator!=gcc
svn path=/trunk/KDE/kdebase/workspace/; revision=659311
2007-04-29 22:38:19 +00:00
Luboš Luňák
2c539daa5d
Merging from old trunk:
...
r598290 | mlaurent | 2006-10-23 08:53:27 +0200 (Mon, 23 Oct 2006) | 5 lines
Apply Alex patch (now we can use enable-final argument
some module compiles with enable-final now)
As discussed with Alex it's not necessary to have program name
into automoc macro
svn path=/trunk/KDE/kdebase/workspace/; revision=659295
2007-04-29 22:04:13 +00:00
Luboš Luňák
80e6a05440
Merging from old trunk:
...
r595998 | lunakl | 2006-10-16 14:41:38 +0200 (Mon, 16 Oct 2006) | 3 lines
Fix two same argument names.
svn path=/trunk/KDE/kdebase/workspace/; revision=659293
2007-04-29 22:01:59 +00:00
Luboš Luňák
ea07e100b4
Merging from old trunk:
...
r565957 | winterz | 2006-07-25 00:17:55 +0200 (Tue, 25 Jul 2006) | 3 lines
install_files() -> install(FILES..)
also use variables in a few more places
svn path=/trunk/KDE/kdebase/workspace/; revision=659262
2007-04-29 20:56:31 +00:00
Luboš Luňák
f52b8e48cd
branches/work/kwin_composite becomes new trunk kwin.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
2007-04-29 17:35:43 +00:00
Luboš Luňák
2b7e1f4993
Remove kwin, kwin_composite will become new trunk kwin, missing merges
...
from trunk will be merged in.
svn path=/trunk/KDE/kdebase/workspace/; revision=659200
2007-04-29 17:34:49 +00:00
Rivo Laks
a94aa904b0
Well, actually GLRenderTarget doesn't require NPOT textures (it works with rectangle textures as well).
...
That also means that those effects which do require NPOT have to check for it themselves.
svn path=/branches/work/kwin_composite/; revision=659155
2007-04-29 15:39:33 +00:00
Rivo Laks
17ae1620ac
Little clarifying API doc for nearestPowerOfTwo().
...
svn path=/branches/work/kwin_composite/; revision=659150
2007-04-29 15:31:57 +00:00
Rivo Laks
f00d1745ed
Add static GLRenderTarget::supported() and make effects use it instead of checking for FBO extension
...
themselves.
Fix memory leak in Test_FBO effect.
svn path=/branches/work/kwin_composite/; revision=658804
2007-04-28 14:38:06 +00:00
Rivo Laks
24c8663923
Add GLShader dtor (fixes memory leak).
...
Also fix multiple memory leaks in effects.
svn path=/branches/work/kwin_composite/; revision=658761
2007-04-28 13:19:36 +00:00
Rivo Laks
6e62dcb922
Add GLTexture::setWrapMode() call to set texture's OpenGL wrap mode.
...
Liquid demo effect now sets wrap mode to CLAMP to ensure that the texture won't wrap at edges
of the screen, which would make other side of the screen visible there.
svn path=/branches/work/kwin_composite/; revision=658748
2007-04-28 12:25:54 +00:00
Rivo Laks
9342f6902c
Add EffectWindow::isPaintingEnabled() to check whether painting of that window is enabled (surprise!)
...
svn path=/branches/work/kwin_composite/; revision=658747
2007-04-28 12:21:14 +00:00
Laurent Montel
67f6750ab3
Remove not necessary include
...
svn path=/trunk/KDE/kdebase/workspace/; revision=656776
2007-04-22 11:14:24 +00:00
Laurent Montel
2178c6dc31
Include fix
...
svn path=/trunk/KDE/kdebase/workspace/; revision=656565
2007-04-21 18:28:47 +00:00
Luboš Luňák
ffc75a2214
GLTexture::render(), to render to a given QRect
...
svn path=/branches/work/kwin_composite/; revision=656521
2007-04-21 16:12:03 +00:00
Luboš Luňák
cd98bc12d5
Shared implementation of rendering gl geometry.
...
svn path=/branches/work/kwin_composite/; revision=656516
2007-04-21 16:02:19 +00:00
Rivo Laks
ec29f33832
Make enable/disableUnnormalizedTexCoords() work with custom textures (e.g. rendertarget ones).
...
Make texture dirty when enabling rendertarget.
svn path=/branches/work/kwin_composite/; revision=656496
2007-04-21 15:04:37 +00:00
Rivo Laks
868719ed65
Port ExplosionEffect to plugin system
...
svn path=/branches/work/kwin_composite/; revision=656456
2007-04-21 12:57:15 +00:00
Luboš Luňák
f43b53ef7d
Trigger TrackMouseEffect using Ctrl+Meta rather than mouse buttons.
...
svn path=/branches/work/kwin_composite/; revision=656455
2007-04-21 12:50:02 +00:00
Rivo Laks
7250a8edcd
Support having multiple rendertarget-using effects active at once
...
svn path=/branches/work/kwin_composite/; revision=656210
2007-04-20 15:53:30 +00:00
Laurent Montel
1adecf7737
Fix install icons
...
Fix install lib under x86_64
Fix install include (remove deprecated cmake macro)
Cleanup
svn path=/branches/work/kwin_composite/; revision=655792
2007-04-19 11:52:53 +00:00
Rivo Laks
cc1a7a9eca
Add GLRenderTarget class.
...
The render target is used to render the scene (or part of it) onto texture. This texture can then be used
e.g. to do some postprocessing.
Demo effect coming soon.
Move checkGLError() to kwineffects.*
Add GLTexture ctor which takes width and height and creates an empty texture (to be used with
GLRenderTarget to render onto it)
svn path=/branches/work/kwin_composite/; revision=655489
2007-04-18 15:22:13 +00:00
Rivo Laks
1af89da210
Add #defines for FBO constants.
...
Fix glCheckFramebufferStatus function prototype (it returns GLenum, not void).
svn path=/branches/work/kwin_composite/; revision=655462
2007-04-18 14:02:33 +00:00
Luboš Luňák
d6d91cf88a
Add the ability to move windows around in DesktopGridEffect.
...
svn path=/branches/work/kwin_composite/; revision=654796
2007-04-16 22:47:51 +00:00
Luboš Luňák
40002ec325
Allow changing the desktop in DesktopGridEffect by clicking.
...
svn path=/branches/work/kwin_composite/; revision=654680
2007-04-16 19:09:21 +00:00
Luboš Luňák
970f4c4d60
Get window class.
...
svn path=/branches/work/kwin_composite/; revision=654513
2007-04-16 11:48:14 +00:00
Luboš Luňák
76cb5de294
Support for effects taking control of the keyboard. Needs recent kdeui change
...
to work properly.
svn path=/branches/work/kwin_composite/; revision=654259
2007-04-15 16:31:13 +00:00
Luboš Luňák
f5fa11222a
Effects that can keep thumbnails of selected windows permanently
...
visible at the side.
svn path=/branches/work/kwin_composite/; revision=654185
2007-04-15 10:56:17 +00:00
Luboš Luňák
10bfb82e8c
Make PresentWindows effect work properly even with idle paint passes
...
(i.e. trigger next repaint properly and react on mouse events).
svn path=/branches/work/kwin_composite/; revision=653921
2007-04-14 15:33:12 +00:00
Luboš Luňák
15c8a4220e
Fix and re-enable optimized cursorPos().
...
svn path=/branches/work/kwin_composite/; revision=653895
2007-04-14 14:15:43 +00:00
Luboš Luňák
5fc1d4c480
Tabbox effect also converted to plugins.
...
svn path=/branches/work/kwin_composite/; revision=653014
2007-04-12 14:12:34 +00:00
Luboš Luňák
2b82c88874
The rest ported to plugins, BoxSwich being the only exception.
...
svn path=/branches/work/kwin_composite/; revision=652991
2007-04-12 13:12:37 +00:00
Dirk Mueller
561fdef0ff
include cleanup
...
svn path=/trunk/KDE/kdebase/workspace/; revision=652987
2007-04-12 13:02:58 +00:00
Luboš Luňák
8e25dd6bfa
Port to plugins.
...
svn path=/branches/work/kwin_composite/; revision=652956
2007-04-12 11:55:07 +00:00
Luboš Luňák
ca5451fef0
Convert WavyWindows to plugins (and move Vertex class to the effects lib).
...
svn path=/branches/work/kwin_composite/; revision=652628
2007-04-11 15:46:46 +00:00
Rivo Laks
02032f8587
Move most (all?) internal methods from EffectsHandler to EffectsHandlerImpl.
...
The ugly side effect of this is that there are tons of static_casts in the code now... maybe it
would be better to add effectImpl() convenience method and use that?
svn path=/branches/work/kwin_composite/; revision=652348
2007-04-10 18:47:13 +00:00