Files
comaps/iphone/Maps/Classes/iosOGLContextFactory.h
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

39 lines
1016 B
Objective-C

#pragma once
#import "iosOGLContext.h"
#include "drape/graphics_context_factory.hpp"
#include "drape/drape_global.hpp"
#include <condition_variable>
#include <mutex>
class iosOGLContextFactory: public dp::GraphicsContextFactory
{
public:
iosOGLContextFactory(CAEAGLLayer * layer, dp::ApiVersion apiVersion, bool presentAvailable);
~iosOGLContextFactory();
dp::GraphicsContext * GetDrawContext() override;
dp::GraphicsContext * GetResourcesUploadContext() override;
bool IsDrawContextCreated() const override;
bool IsUploadContextCreated() const override;
void WaitForInitialization(dp::GraphicsContext * context) override;
void SetPresentAvailable(bool available) override;
private:
CAEAGLLayer * m_layer;
dp::ApiVersion m_apiVersion;
iosOGLContext * m_drawContext;
iosOGLContext * m_uploadContext;
bool m_isInitialized;
size_t m_initializationCounter;
bool m_presentAvailable;
std::condition_variable m_initializationCondition;
std::mutex m_initializationMutex;
};