#define DALI_INTEGRATION_GL_ABSTRACTION_H
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
class GlAbstraction
{
protected:
- /**
- * Virtual protected destructor, no deletion through this interface
- */
- virtual ~GlAbstraction() = default;
+ // Protected construction & deletion
+ GlAbstraction() = default; ///< Protected constructor so an instance of this class cannot be created.
+ virtual ~GlAbstraction() = default; ///< Virtual protected destructor, no deletion through this interface.
public:
+ // Not copyable but movable
+ GlAbstraction(const GlAbstraction&) = delete; ///< Deleted copy constructor.
+ GlAbstraction(GlAbstraction&&) = default; ///< Default move constructor.
+ GlAbstraction& operator=(const GlAbstraction&) = delete; ///< Deleted copy assignment operator.
+ GlAbstraction& operator=(GlAbstraction&&) = default; ///< Default move assignment operator.
+
/**
* Invoked by Render thread before Core::Render.
*/