forked from mirrors/gecko-dev
		
	 cc94065f1b
			
		
	
	
		cc94065f1b
		
	
	
	
	
		
			
			It's only used by the GTK backend and all other users are located there as well. Further more, it's unlikely that the will ever be another X11 backend or that these classes will get reused elsewhere. So in order to keep changes to `WindowSurface` out of the common widget space, move it into `gtk`. While on it, also clean up the affected moz.build files a bit by making orders more consistent. No functional changes intended. Differential Revision: https://phabricator.services.mozilla.com/D114422
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			984 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			984 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 | |
|  *
 | |
|  * This Source Code Form is subject to the terms of the Mozilla Public
 | |
|  * License, v. 2.0. If a copy of the MPL was not distributed with this
 | |
|  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | |
| 
 | |
| #include "WindowSurfaceX11SHM.h"
 | |
| 
 | |
| namespace mozilla::widget {
 | |
| 
 | |
| WindowSurfaceX11SHM::WindowSurfaceX11SHM(Display* aDisplay, Drawable aWindow,
 | |
|                                          Visual* aVisual, unsigned int aDepth) {
 | |
|   mFrontImage = new nsShmImage(aDisplay, aWindow, aVisual, aDepth);
 | |
|   mBackImage = new nsShmImage(aDisplay, aWindow, aVisual, aDepth);
 | |
| }
 | |
| 
 | |
| already_AddRefed<gfx::DrawTarget> WindowSurfaceX11SHM::Lock(
 | |
|     const LayoutDeviceIntRegion& aRegion) {
 | |
|   mBackImage.swap(mFrontImage);
 | |
|   return mBackImage->CreateDrawTarget(aRegion);
 | |
| }
 | |
| 
 | |
| void WindowSurfaceX11SHM::Commit(const LayoutDeviceIntRegion& aInvalidRegion) {
 | |
|   mBackImage->Put(aInvalidRegion);
 | |
| }
 | |
| 
 | |
| }  // namespace mozilla::widget
 |