mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 09:18:42 +09:00
Issue #1751 -- Remove cocoa and uikit widget support code
This commit is contained in:
parent
a6ae35ba91
commit
3a4e65f1de
165 changed files with 4 additions and 42109 deletions
|
|
@ -1,80 +0,0 @@
|
|||
/* -*- Mode: C++; tab-width: 2; 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/. */
|
||||
|
||||
#ifndef RectTextureImage_h_
|
||||
#define RectTextureImage_h_
|
||||
|
||||
#include "mozilla/RefPtr.h"
|
||||
|
||||
class MacIOSurface;
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
namespace gl {
|
||||
class GLContext;
|
||||
} // namespace gl
|
||||
|
||||
namespace widget {
|
||||
|
||||
// Manages a texture which can resize dynamically, binds to the
|
||||
// LOCAL_GL_TEXTURE_RECTANGLE_ARB texture target and is automatically backed
|
||||
// by a power-of-two size GL texture. The latter two features are used for
|
||||
// compatibility with older Mac hardware which we block GL layers on.
|
||||
// RectTextureImages are used both for accelerated GL layers drawing and for
|
||||
// OMTC BasicLayers drawing.
|
||||
class RectTextureImage {
|
||||
public:
|
||||
RectTextureImage();
|
||||
|
||||
virtual ~RectTextureImage();
|
||||
|
||||
already_AddRefed<gfx::DrawTarget>
|
||||
BeginUpdate(const LayoutDeviceIntSize& aNewSize,
|
||||
const LayoutDeviceIntRegion& aDirtyRegion =
|
||||
LayoutDeviceIntRegion());
|
||||
void EndUpdate();
|
||||
|
||||
void UpdateIfNeeded(const LayoutDeviceIntSize& aNewSize,
|
||||
const LayoutDeviceIntRegion& aDirtyRegion,
|
||||
void (^aCallback)(gfx::DrawTarget*,
|
||||
const LayoutDeviceIntRegion&))
|
||||
{
|
||||
RefPtr<gfx::DrawTarget> drawTarget = BeginUpdate(aNewSize, aDirtyRegion);
|
||||
if (drawTarget) {
|
||||
aCallback(drawTarget, GetUpdateRegion());
|
||||
EndUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateFromCGContext(const LayoutDeviceIntSize& aNewSize,
|
||||
const LayoutDeviceIntRegion& aDirtyRegion,
|
||||
CGContextRef aCGContext);
|
||||
|
||||
LayoutDeviceIntRegion GetUpdateRegion() {
|
||||
MOZ_ASSERT(mInUpdate, "update region only valid during update");
|
||||
return mUpdateRegion;
|
||||
}
|
||||
|
||||
void Draw(mozilla::layers::GLManager* aManager,
|
||||
const LayoutDeviceIntPoint& aLocation,
|
||||
const gfx::Matrix4x4& aTransform = gfx::Matrix4x4());
|
||||
|
||||
|
||||
protected:
|
||||
void DeleteTexture();
|
||||
void BindIOSurfaceToTexture(gl::GLContext* aGL);
|
||||
|
||||
RefPtr<MacIOSurface> mIOSurface;
|
||||
gl::GLContext* mGLContext;
|
||||
LayoutDeviceIntRegion mUpdateRegion;
|
||||
LayoutDeviceIntSize mBufferSize;
|
||||
GLuint mTexture;
|
||||
bool mInUpdate;
|
||||
};
|
||||
|
||||
} // namespace widget
|
||||
} // namespace mozilla
|
||||
|
||||
#endif // RectTextureImage_h_
|
||||
Loading…
Add table
Add a link
Reference in a new issue