#include <dali/integration-api/resource-cache.h>
#include <dali/integration-api/shader-data.h>
-#include <dali/internal/common/event-to-update.h>
#include <dali/internal/common/message.h>
+#include <dali/internal/event/common/event-thread-services.h>
#include <dali/internal/event/common/thread-local-storage.h>
#include <dali/internal/event/resources/resource-client-declarations.h>
#include <dali/internal/event/effects/shader-factory.h>
// picked-up by the update thread in its main loop and executed on that in
// submission order.
-inline void RequestLoadResourceMessage( EventToUpdate& eventToUpdate,
+inline void RequestLoadResourceMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId id,
const ResourceTypePath& typePath,
typedef MessageValue3< ResourceManager, ResourceId, ResourceTypePath, Integration::LoadResourcePriority > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ), false );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ), false );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleLoadResourceRequest, id, typePath, priority );
}
-inline void RequestDecodeResourceMessage( EventToUpdate& eventToUpdate,
+inline void RequestDecodeResourceMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
const ResourceId id,
/// We use typePath instead of the raw type for ownership and to enable copying of a concrete type.
typedef MessageValue4< ResourceManager, ResourceId, ResourceTypePath, RequestBufferPtr, Integration::LoadResourcePriority > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ), false );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ), false );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleDecodeResourceRequest, id, typePath, buffer, priority );
}
-inline void RequestAddBitmapImageMessage( EventToUpdate& eventToUpdate,
+inline void RequestAddBitmapImageMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId id,
Integration::Bitmap* resourceData )
typedef MessageValue2< ResourceManager, ResourceId, Integration::BitmapPtr > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ) );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleAddBitmapImageRequest, id, resourceData );
}
-inline void RequestAddNativeImageMessage( EventToUpdate& eventToUpdate,
+inline void RequestAddNativeImageMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId id,
NativeImageInterfacePtr resourceData )
typedef MessageValue2< ResourceManager, ResourceId, NativeImageInterfacePtr > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ) );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleAddNativeImageRequest, id, resourceData );
}
-inline void RequestAddFrameBufferImageMessage( EventToUpdate& eventToUpdate,
+inline void RequestAddFrameBufferImageMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId id,
unsigned int width,
typedef MessageValue4< ResourceManager, ResourceId, unsigned int, unsigned int, Pixel::Format > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ) );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleAddFrameBufferImageRequest, id, width, height, pixelFormat );
}
-inline void RequestAddFrameBufferImageMessage( EventToUpdate& eventToUpdate,
+inline void RequestAddFrameBufferImageMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId id,
NativeImageInterfacePtr resourceData )
typedef MessageValue2< ResourceManager, ResourceId, NativeImageInterfacePtr > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ) );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleAddFrameBufferImageRequest, id, resourceData );
}
-inline void RequestAllocateTextureMessage(EventToUpdate& eventToUpdate,
- ResourceManager& manager,
- ResourceId id,
- unsigned int width,
- unsigned int height,
- Pixel::Format pixelFormat)
+inline void RequestAllocateTextureMessage( EventThreadServices& eventThreadServices,
+ ResourceManager& manager,
+ ResourceId id,
+ unsigned int width,
+ unsigned int height,
+ Pixel::Format pixelFormat)
{
typedef MessageValue4< ResourceManager, ResourceId, unsigned int, unsigned int, Pixel::Format > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ) );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleAllocateTextureRequest, id, width, height, pixelFormat );
}
-inline void RequestAllocateMeshMessage( EventToUpdate& eventToUpdate,
+inline void RequestAllocateMeshMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId id,
OwnerPointer<MeshData>& meshData )
typedef MessageValue2< ResourceManager, ResourceId, OwnerPointer<MeshData> > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ) );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleAllocateMeshRequest, id, meshData.Release() );
}
-inline void RequestLoadShaderMessage( EventToUpdate& eventToUpdate,
+inline void RequestLoadShaderMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId id,
const ResourceTypePath& typePath )
typedef MessageValue2< ResourceManager, ResourceId, ResourceTypePath > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ) );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleLoadShaderRequest, id, typePath );
}
-inline void RequestUpdateBitmapAreaMessage( EventToUpdate& eventToUpdate,
+inline void RequestUpdateBitmapAreaMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId id,
const Dali::RectArea& area )
typedef MessageValue2< ResourceManager, ResourceId, Dali::RectArea > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ), false );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ), false );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleUpdateBitmapAreaRequest, id, area );
}
-inline void RequestUploadBitmapMessage( EventToUpdate& eventToUpdate,
+inline void RequestUploadBitmapMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId destId,
Integration::BitmapPtr bitmap,
typedef MessageValue4< ResourceManager, ResourceId, Integration::BitmapPtr , std::size_t, std::size_t > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ), false );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ), false );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleUploadBitmapRequest, destId, bitmap, xOffset, yOffset );
}
-inline void RequestUploadBitmapMessage( EventToUpdate& eventToUpdate,
+inline void RequestUploadBitmapMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId destId,
ResourceId srcId,
typedef MessageValue4< ResourceManager, ResourceId, ResourceId, std::size_t, std::size_t > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ), false );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ), false );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleUploadBitmapRequest, destId, srcId, xOffset, yOffset );
}
-inline void RequestUpdateMeshMessage( EventToUpdate& eventToUpdate,
+inline void RequestUpdateMeshMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId id,
const Dali::MeshData& meshData,
{
typedef MessageDoubleBuffered2< ResourceManager, ResourceId, OwnerPointer< MeshData > > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ) );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) );
MeshData* internalMeshData = new MeshData( meshData, discardable, false );
new (slot) LocalType( &manager, &ResourceManager::HandleUpdateMeshRequest, id, internalMeshData );
}
-inline void RequestReloadResourceMessage( EventToUpdate& eventToUpdate,
+inline void RequestReloadResourceMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId id,
const ResourceTypePath& typePath,
typedef MessageValue4< ResourceManager, ResourceId, ResourceTypePath, Integration::LoadResourcePriority, bool > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ), false );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ), false );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleReloadResourceRequest, id, typePath, priority, resetFinishedStatus );
}
-inline void RequestSaveResourceMessage( EventToUpdate& eventToUpdate,
+inline void RequestSaveResourceMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId id,
const ResourceTypePath& typePath )
typedef MessageValue2< ResourceManager, ResourceId, ResourceTypePath > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ) );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleSaveResourceRequest, id, typePath );
}
-inline void RequestDiscardResourceMessage( EventToUpdate& eventToUpdate,
+inline void RequestDiscardResourceMessage( EventThreadServices& eventThreadServices,
ResourceManager& manager,
ResourceId id,
Integration::ResourceTypeId typeId )
typedef MessageValue2< ResourceManager, ResourceId, Integration::ResourceTypeId > LocalType;
// Reserve some memory inside the message queue
- unsigned int* slot = eventToUpdate.ReserveMessageSlot( sizeof( LocalType ) );
+ unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) );
// Construct message in the message queue memory; note that delete should not be called on the return value
new (slot) LocalType( &manager, &ResourceManager::HandleDiscardResourceRequest, id, typeId );