mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 14:52:43 +00:00 
			
		
		
		
	 016fedbd20
			
		
	
	
		016fedbd20
		
	
	
	
	
		
			
			Instead of doing that on the IntelDisplayPlane class, let's have this in derived classes so these classes can decide how to use the settings that were provided before calling the enable method.
		
			
				
	
	
		
			26 lines
		
	
	
	
		
			717 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			717 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2022, Liav A. <liavalb@hotmail.co.il>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <AK/RefPtr.h>
 | |
| #include <AK/Try.h>
 | |
| #include <AK/Types.h>
 | |
| #include <Kernel/Graphics/Intel/Plane/DisplayPlane.h>
 | |
| 
 | |
| namespace Kernel {
 | |
| 
 | |
| class IntelDisplayConnectorGroup;
 | |
| class IntelG33DisplayPlane final : public IntelDisplayPlane {
 | |
| public:
 | |
|     static ErrorOr<NonnullOwnPtr<IntelG33DisplayPlane>> create_with_physical_address(PhysicalAddress plane_registers_start_address);
 | |
| 
 | |
|     virtual ErrorOr<void> enable(Badge<IntelDisplayConnectorGroup>) override;
 | |
| 
 | |
| private:
 | |
|     explicit IntelG33DisplayPlane(Memory::TypedMapping<volatile IntelDisplayPlane::PlaneRegisters> plane_registers_mapping);
 | |
| };
 | |
| }
 |