diff --git a/enso/enso/graphics/transparentwindow.py b/enso/enso/graphics/transparentwindow.py index b7d3826f..ac08eb82 100644 --- a/enso/enso/graphics/transparentwindow.py +++ b/enso/enso/graphics/transparentwindow.py @@ -22,8 +22,7 @@ def __init__( self, xPos, yPos, width, height ): width, height ) def makeCairoContext( self ): - self._surf = self._impl.makeCairoSurface() # TODO: do not forget to remove self._surf - context = cairo.Context( self._surf ) + context = cairo.Context( self._impl.makeCairoSurface() ) convertUserSpaceToPoints( context ) return context diff --git a/enso/enso/messages/primarywindow.py b/enso/enso/messages/primarywindow.py index f5fc7ca7..60a3b432 100644 --- a/enso/enso/messages/primarywindow.py +++ b/enso/enso/messages/primarywindow.py @@ -369,8 +369,6 @@ def __setupBackground( self, width, height ): cr.set_source_rgba( *MSG_BGCOLOR ) cr.fill_preserve() - #self._wind._surf.write_to_png("d:/tmp/surf.png") - def __layoutBlocks( self, messageDoc, captionDoc ): """ diff --git a/enso/enso/platform/win32/AsyncEventProcessorRegistry.dll b/enso/enso/platform/win32/AsyncEventProcessorRegistry.dll index d776a446..388950d4 100644 Binary files a/enso/enso/platform/win32/AsyncEventProcessorRegistry.dll and b/enso/enso/platform/win32/AsyncEventProcessorRegistry.dll differ diff --git a/enso/enso/platform/win32/CLogging.dll b/enso/enso/platform/win32/CLogging.dll index 0dc95782..327e75d0 100644 Binary files a/enso/enso/platform/win32/CLogging.dll and b/enso/enso/platform/win32/CLogging.dll differ diff --git a/enso/enso/platform/win32/Keyhook.dll b/enso/enso/platform/win32/Keyhook.dll index 33129bb4..4fe4f395 100644 Binary files a/enso/enso/platform/win32/Keyhook.dll and b/enso/enso/platform/win32/Keyhook.dll differ diff --git a/enso/enso/platform/win32/cairo.dll b/enso/enso/platform/win32/cairo.dll index 924a9e15..e5ca33b3 100644 Binary files a/enso/enso/platform/win32/cairo.dll and b/enso/enso/platform/win32/cairo.dll differ diff --git a/enso/enso/platform/win32/cairo/_cairo.pyd b/enso/enso/platform/win32/cairo/_cairo.pyd index f57c1c48..34229dd2 100644 Binary files a/enso/enso/platform/win32/cairo/_cairo.pyd and b/enso/enso/platform/win32/cairo/_cairo.pyd differ diff --git a/enso/enso/platform/win32/graphics/_TransparentWindow.pyd b/enso/enso/platform/win32/graphics/_TransparentWindow.pyd index b0d7215c..f63e423a 100644 Binary files a/enso/enso/platform/win32/graphics/_TransparentWindow.pyd and b/enso/enso/platform/win32/graphics/_TransparentWindow.pyd differ diff --git a/enso/enso/platform/win32/input/_AsyncEventThread.pyd b/enso/enso/platform/win32/input/_AsyncEventThread.pyd index 0854b754..703c6883 100644 Binary files a/enso/enso/platform/win32/input/_AsyncEventThread.pyd and b/enso/enso/platform/win32/input/_AsyncEventThread.pyd differ diff --git a/enso/enso/platform/win32/input/_InputManager.pyd b/enso/enso/platform/win32/input/_InputManager.pyd index 952fdb2f..2dcc3bd2 100644 Binary files a/enso/enso/platform/win32/input/_InputManager.pyd and b/enso/enso/platform/win32/input/_InputManager.pyd differ diff --git a/enso/enso/platform/win32/selection/_ClipboardBackend.pyd b/enso/enso/platform/win32/selection/_ClipboardBackend.pyd index 3cae0ff6..d827d1e7 100644 Binary files a/enso/enso/platform/win32/selection/_ClipboardBackend.pyd and b/enso/enso/platform/win32/selection/_ClipboardBackend.pyd differ diff --git a/platform/README.win32 b/platform/README.win32 index bcf2a8b5..5c1b21e7 100644 --- a/platform/README.win32 +++ b/platform/README.win32 @@ -5,8 +5,8 @@ Modern build instructions: 3. Install pywin32 for Python 3 (https://github.com/mhammond/pywin32) 4. Install SCons for Python 3 (https://scons.org/) 5. Install SWIG (http://www.swig.org/) and make it available through the PATH environment variable - 6. Install MS Visual Studio 2015+ - 7. Install MSYS2 (https://www.msys2.org/) and make it available through the PATH environment variable + 6. Install MSYS2 (https://www.msys2.org/) and make it available through the PATH environment variable + 7. Install MS Visual Studio 2015+ 8. Open MSVS Developer Console and change the current working directory to `platform' (this) folder 9. Navigate to `win32/Graphics/cairo' subdirectory 10. Execute "sh build.sh" diff --git a/platform/win32/Graphics/TransparentWindow/TransparentWindow.cxx b/platform/win32/Graphics/TransparentWindow/TransparentWindow.cxx index bf02112a..3bd56128 100644 --- a/platform/win32/Graphics/TransparentWindow/TransparentWindow.cxx +++ b/platform/win32/Graphics/TransparentWindow/TransparentWindow.cxx @@ -175,9 +175,7 @@ TransparentWindow::makeCairoSurface( void ) /* Creating surface with cairo 1.16+ */ - //_cairoSurface = cairo_win32_surface_create( _hDC ); - - _cairoSurface = cairo_win32_surface_create_with_format(_hDC, CAIRO_FORMAT_ARGB32); + _cairoSurface = cairo_win32_surface_create_with_format(_hDC, CAIRO_FORMAT_ARGB32); if ( cairo_surface_status(_cairoSurface) != CAIRO_STATUS_SUCCESS ) throw FatalError( "Couldn't init Cairo surface." ); @@ -205,6 +203,9 @@ TransparentWindow::makeCairoSurface( void ) void TransparentWindow::update( void ) { + if (_cairoSurface) + cairo_surface_flush(_cairoSurface); + POINT srcPoint; BLENDFUNCTION bf; POINT destPoint;