You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Allow user to chose whether transparency is used for individual browser windows. When browser viewport is resized or rendered with old size afterwards, made sure that the texture is copied row by row to avoid distortion. Store size of viewport as an FIntPoint to avoid various casts that would be needed. [CL 2321219 by Matthew Griffin in Main branch]
59 lines
1.5 KiB
C++
59 lines
1.5 KiB
C++
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "IWebBrowserSingleton.h"
|
|
|
|
#if WITH_CEF3
|
|
#if PLATFORM_WINDOWS
|
|
#include "AllowWindowsPlatformTypes.h"
|
|
#endif
|
|
#include "include/internal/cef_ptr.h"
|
|
#if PLATFORM_WINDOWS
|
|
#include "HideWindowsPlatformTypes.h"
|
|
#endif
|
|
#endif
|
|
|
|
// Forward Declarations
|
|
class FWebBrowserApp;
|
|
class FWebBrowserHandler;
|
|
class FWebBrowserWindow;
|
|
|
|
/**
|
|
* Implementation of singleton class that takes care of general web browser tasks
|
|
*/
|
|
class FWebBrowserSingleton : public IWebBrowserSingleton
|
|
{
|
|
public:
|
|
/**
|
|
* Default Constructor
|
|
*/
|
|
FWebBrowserSingleton();
|
|
/**
|
|
* Virtual Destructor
|
|
*/
|
|
virtual ~FWebBrowserSingleton();
|
|
|
|
// IWebBrowserSingleton Interface
|
|
virtual void SetSlateRenderer(TSharedPtr<FSlateRenderer> InSlateRenderer) override;
|
|
virtual void PumpMessages() override;
|
|
TSharedPtr<IWebBrowserWindow> CreateBrowserWindow(void* OSWindowHandle, FString InitialURL, uint32 Width, uint32 Height, bool bUseTransparency) override;
|
|
|
|
/**
|
|
* Gets the Current Locale Code in the format CEF expects
|
|
*
|
|
* @return Locale code as either "xx" or "xx-YY"
|
|
*/
|
|
static FString GetCurrentLocaleCode();
|
|
|
|
private:
|
|
/** Pointer to the Slate Renderer so that we can render web pages to textures */
|
|
TWeakPtr<FSlateRenderer> SlateRenderer;
|
|
#if WITH_CEF3
|
|
/** Pointer to the CEF App implementation */
|
|
CefRefPtr<FWebBrowserApp> WebBrowserApp;
|
|
/** List of currently existing browser windows */
|
|
TArray<TWeakPtr<FWebBrowserWindow>> WindowInterfaces;
|
|
#endif
|
|
};
|