Lines Matching refs:window

23 #include "window.h"

95 BLOGE("window surface is null");
122 void DestoryNativeWindow(OHNativeWindow *window)
124 if (window == nullptr) {
128 NativeObjectUnreference(window);
163 int32_t NativeWindowRequestBuffer(OHNativeWindow *window,
166 if (window == nullptr || buffer == nullptr || fenceFd == nullptr) {
171 BLOGE_CHECK_AND_RETURN_RET(window->surface != nullptr, SURFACE_ERROR_ERROR, "window surface is null");
173 int32_t requestWidth = window->surface->GetRequestWidth();
174 int32_t requestHeight = window->surface->GetRequestHeight();
175 OHOS::BufferRequestConfig windowConfig = window->surface->GetWindowConfig();
180 ret = window->surface->RequestBuffer(sfbuffer, releaseFence, config);
182 ret = window->surface->RequestBuffer(sfbuffer, releaseFence, windowConfig);
186 ret, window->surface->GetUniqueId());
190 auto iter = window->bufferCache_.find(seqNum);
191 if (iter == window->bufferCache_.end()) {
194 nwBuffer->uiTimestamp = window->uiTimestamp;
198 window->bufferCache_[seqNum] = nwBuffer;
201 (*buffer)->uiTimestamp = window->uiTimestamp;
207 int32_t NativeWindowFlushBuffer(OHNativeWindow *window, OHNativeWindowBuffer *buffer,
210 if (window == nullptr || buffer == nullptr || window->surface == nullptr) {
228 OHOS::BufferRequestConfig windowConfig = window->surface->GetWindowConfig();
239 config.desiredPresentTimestamp = window->desiredPresentTimestamp;
241 int32_t ret = window->surface->FlushBuffer(buffer->sfbuffer, acquireFence, config);
244 ret, window->surface->GetUniqueId());
248 auto it = std::find_if(window->bufferCache_.begin(), window->bufferCache_.end(),
252 if (it != window->bufferCache_.end()) {
253 window->lastBufferSeqNum = it->first;
259 int32_t GetLastFlushedBuffer(OHNativeWindow *window, OHNativeWindowBuffer **buffer, int *fenceFd, float matrix[16])
261 if (window == nullptr || buffer == nullptr || fenceFd == nullptr || window->surface == nullptr) {
266 int32_t ret = window->surface->GetLastFlushedBuffer(nwBuffer->sfbuffer, acquireFence, matrix, false);
268 BLOGE("GetLastFlushedBuffer fail, uniqueId: %{public}" PRIu64 ".", window->surface->GetUniqueId());
279 int32_t NativeWindowAttachBuffer(OHNativeWindow *window, OHNativeWindowBuffer *buffer)
281 if (window == nullptr || buffer == nullptr) {
284 BLOGE_CHECK_AND_RETURN_RET(window->surface != nullptr, SURFACE_ERROR_INVALID_PARAM, "window surface is null");
285 return window->surface->AttachBufferToQueue(buffer->sfbuffer);
288 int32_t NativeWindowDetachBuffer(OHNativeWindow *window, OHNativeWindowBuffer *buffer)
290 if (window == nullptr || buffer == nullptr) {
293 BLOGE_CHECK_AND_RETURN_RET(window->surface != nullptr, SURFACE_ERROR_INVALID_PARAM, "window surface is null");
294 return window->surface->DetachBufferFromQueue(buffer->sfbuffer);
297 int32_t NativeWindowCancelBuffer(OHNativeWindow *window, OHNativeWindowBuffer *buffer)
299 if (window == nullptr || buffer == nullptr) {
302 BLOGE_CHECK_AND_RETURN_RET(window->surface != nullptr, SURFACE_ERROR_INVALID_PARAM, "window surface is null");
303 return window->surface->CancelBuffer(buffer->sfbuffer);
306 static void HandleNativeWindowSetUsage(OHNativeWindow *window, va_list args)
309 window->surface->SetWindowConfigUsage(usage);
312 static void HandleNativeWindowSetBufferGeometry(OHNativeWindow *window, va_list args)
316 window->surface->SetWindowConfigWidthAndHeight(width, height);
319 static void HandleNativeWindowSetFormat(OHNativeWindow *window, va_list args)
322 window->surface->SetWindowConfigFormat(format);
325 static void HandleNativeWindowSetStride(OHNativeWindow *window, va_list args)
328 window->surface->SetWindowConfigStride(stride);
331 static void HandleNativeWindowSetTimeout(OHNativeWindow *window, va_list args)
334 window->surface->SetWindowConfigTimeout(timeout);
337 static void HandleNativeWindowSetColorGamut(OHNativeWindow *window, va_list args)
340 window->surface->SetWindowConfigColorGamut(static_cast<GraphicColorGamut>(colorGamut));
343 static void HandleNativeWindowSetTransform(OHNativeWindow *window, va_list args)
346 window->surface->SetTransform(static_cast<GraphicTransformType>(transform));
347 window->surface->SetWindowConfigTransform(static_cast<GraphicTransformType>(transform));
350 static void HandleNativeWindowSetUiTimestamp(OHNativeWindow *window, va_list args)
353 window->uiTimestamp = static_cast<int64_t>(uiTimestamp);
356 static void HandleNativeWindowSetDesiredPresentTimestamp(OHNativeWindow *window, va_list args)
359 window->desiredPresentTimestamp = desiredPresentTimestamp;
362 static void HandleNativeWindowSetSurfaceSourceType(OHNativeWindow *window, va_list args)
365 window->surface->SetSurfaceSourceType(sourceType);
368 static void HandleNativeWindowSetSurfaceAppFrameworkType(OHNativeWindow *window, va_list args)
373 window->surface->SetSurfaceAppFrameworkType(typeStr);
377 static void HandleNativeWindowGetUsage(OHNativeWindow *window, va_list args)
381 OHOS::BufferRequestConfig windowConfig = window->surface->GetWindowConfig();
386 static void HandleNativeWindowGetBufferGeometry(OHNativeWindow *window, va_list args)
391 OHOS::BufferRequestConfig windowConfig = window->surface->GetWindowConfig();
397 static void HandleNativeWindowGetFormat(OHNativeWindow *window, va_list args)
401 OHOS::BufferRequestConfig windowConfig = window->surface->GetWindowConfig();
406 static void HandleNativeWindowGetStride(OHNativeWindow *window, va_list args)
410 OHOS::BufferRequestConfig windowConfig = window->surface->GetWindowConfig();
415 static void HandleNativeWindowGetTimeout(OHNativeWindow *window, va_list args)
419 OHOS::BufferRequestConfig windowConfig = window->surface->GetWindowConfig();
424 static void HandleNativeWindowGetColorGamut(OHNativeWindow *window, va_list args)
428 OHOS::BufferRequestConfig windowConfig = window->surface->GetWindowConfig();
433 static void HandleNativeWindowGetTransform(OHNativeWindow *window, va_list args)
437 *transform = static_cast<int32_t>(window->surface->GetTransform());
441 static void HandleNativeWindowGetBufferQueueSize(OHNativeWindow *window, va_list args)
445 *bufferQueueSize = static_cast<int32_t>(window->surface->GetQueueSize());
449 static void HandleNativeWindowGetSurfaceSourceType(OHNativeWindow *window, va_list args)
453 *sourceType = window->surface->GetSurfaceSourceType();
457 static void HandleNativeWindowGetSurfaceAppFrameworkType(OHNativeWindow *window, va_list args)
461 std::string typeStr = window->surface->GetSurfaceAppFrameworkType();
466 static void HandleNativeWindowSetHdrWhitePointBrightness(OHNativeWindow *window, va_list args)
469 window->surface->SetHdrWhitePointBrightness(hdrWhitePointBrightness);
472 static void HandleNativeWindowSetSdrWhitePointBrightness(OHNativeWindow *window, va_list args)
475 window->surface->SetSdrWhitePointBrightness(sdrWhitePointBrightness);
504 static int32_t InternalHandleNativeWindowOpt(OHNativeWindow *window, int code, va_list args)
508 it->second(window, args);
513 int32_t NativeWindowHandleOpt(OHNativeWindow *window, int code, ...)
515 if (window == nullptr || window->surface == nullptr) {
520 InternalHandleNativeWindowOpt(window, code, args);
579 int32_t NativeWindowSetScalingMode(OHNativeWindow *window, uint32_t sequence, OHScalingMode scalingMode)
581 if (window == nullptr || window->surface == nullptr ||
586 return window->surface->SetScalingMode(sequence, static_cast<ScalingMode>(scalingMode));
589 int32_t NativeWindowSetScalingModeV2(OHNativeWindow *window, OHScalingModeV2 scalingMode)
591 if (window == nullptr || window->surface == nullptr ||
596 return window->surface->SetScalingMode(static_cast<ScalingMode>(scalingMode));
599 int32_t NativeWindowSetMetaData(OHNativeWindow *window, uint32_t sequence, int32_t size,
602 if (window == nullptr || window->surface == nullptr ||
609 return window->surface->SetMetaData(sequence, data);
612 int32_t NativeWindowSetMetaDataSet(OHNativeWindow *window, uint32_t sequence, OHHDRMetadataKey key,
615 if (window == nullptr || window->surface == nullptr ||
621 return window->surface->SetMetaDataSet(sequence, static_cast<GraphicHDRMetadataKey>(key), data);
624 int32_t NativeWindowSetTunnelHandle(OHNativeWindow *window, const OHExtDataHandle *handle)
626 if (window == nullptr || window->surface == nullptr || handle == nullptr) {
629 return window->surface->SetTunnelHandle(reinterpret_cast<const OHOS::GraphicExtDataHandle*>(handle));
632 int32_t GetSurfaceId(OHNativeWindow *window, uint64_t *surfaceId)
634 if (window == nullptr || window->surface == nullptr || surfaceId == nullptr) {
638 *surfaceId = window->surface->GetUniqueId();
642 int32_t CreateNativeWindowFromSurfaceId(uint64_t surfaceId, OHNativeWindow **window)
644 if (window == nullptr) {
649 *window = reinterpret_cast<OHNativeWindow*>(utils->GetNativeWindow(surfaceId));
650 if (*window != nullptr) {
651 NativeObjectReference(*window);
659 BLOGE("window surface is null, surfaceId: %{public}" PRIu64 ".", surfaceId);
667 *window = nativeWindow;
671 int32_t NativeWindowGetTransformHint(OHNativeWindow *window, OH_NativeBuffer_TransformType *transform)
673 if (window == nullptr || window->surface == nullptr || transform == nullptr) {
676 *transform = static_cast<OH_NativeBuffer_TransformType>(window->surface->GetTransformHint());
680 int32_t NativeWindowSetTransformHint(OHNativeWindow *window, OH_NativeBuffer_TransformType transform)
682 if (window == nullptr || window->surface == nullptr) {
685 return window->surface->SetTransformHint(static_cast<OHOS::GraphicTransformType>(transform));
688 int32_t NativeWindowGetDefaultWidthAndHeight(OHNativeWindow *window, int32_t *width, int32_t *height)
690 if (window == nullptr || window->surface == nullptr || width == nullptr || height == nullptr) {
693 OHOS::BufferRequestConfig windowConfig = window->surface->GetWindowConfig();
698 *width = window->surface->GetDefaultWidth();
699 *height = window->surface->GetDefaultHeight();
704 int32_t NativeWindowSetRequestWidthAndHeight(OHNativeWindow *window, int32_t width, int32_t height)
706 if (window == nullptr || window->surface == nullptr) {
709 window->surface->SetRequestWidthAndHeight(width, height);
713 void NativeWindowSetBufferHold(OHNativeWindow *window)
715 if (window == nullptr || window->surface == nullptr) {
718 window->surface->SetBufferHold(true);
721 int32_t NativeWindowWriteToParcel(OHNativeWindow *window, OHIPCParcel *parcel)
723 if (window == nullptr) {
729 sptr<OHOS::Surface> windowSurface = window->surface;
744 int32_t NativeWindowReadFromParcel(OHIPCParcel *parcel, OHNativeWindow **window)
746 if (parcel == nullptr || parcel->msgParcel == nullptr || window == nullptr) {
761 *window = reinterpret_cast<OHNativeWindow*>(utils->GetNativeWindow(windowSurface->GetUniqueId()));
762 if (*window == nullptr) {
763 *window = CreateNativeWindowFromSurface(&windowSurface);
768 int32_t GetLastFlushedBufferV2(OHNativeWindow *window, OHNativeWindowBuffer **buffer, int *fenceFd, float matrix[16])
770 if (window == nullptr || buffer == nullptr || fenceFd == nullptr || window->surface == nullptr) {
775 int32_t ret = window->surface->GetLastFlushedBuffer(nwBuffer->sfbuffer, acquireFence, matrix, true);
778 ret, window->surface->GetUniqueId());
789 int32_t NativeWindowDisconnect(OHNativeWindow *window)
791 if (window == nullptr || window->surface == nullptr) {
794 return window->surface->Disconnect();
797 int32_t OH_NativeWindow_SetColorSpace(OHNativeWindow *window, OH_NativeBuffer_ColorSpace colorSpace)
800 if (window == nullptr || iter == NATIVE_COLORSPACE_TO_HDI_MAP.end()) {
805 if (window->surface != nullptr && param != window->surface->GetUserData("ATTRKEY_COLORSPACE_INFO")) {
806 ret = window->surface->SetUserData("ATTRKEY_COLORSPACE_INFO", param);
815 int32_t OH_NativeWindow_GetColorSpace(OHNativeWindow *window, OH_NativeBuffer_ColorSpace *colorSpace)
817 if (window == nullptr || colorSpace == nullptr) {
821 if (window->surface != nullptr) {
822 std::string value = window->surface->GetUserData("ATTRKEY_COLORSPACE_INFO");
841 int32_t OH_NativeWindow_SetMetadataValue(OHNativeWindow *window, OH_NativeBuffer_MetadataKey metadataKey,
844 if (window == nullptr || metadata == nullptr || size <= 0 || size > META_DATA_MAX_SIZE ||
845 window->surface == nullptr) {
853 if (param != window->surface->GetUserData("OH_HDR_DYNAMIC_METADATA")) {
854 ret = window->surface->SetUserData("OH_HDR_DYNAMIC_METADATA", param);
858 if (param != window->surface->GetUserData("OH_HDR_STATIC_METADATA")) {
859 ret = window->surface->SetUserData("OH_HDR_STATIC_METADATA", param);
864 if (param != window->surface->GetUserData("OH_HDR_METADATA_TYPE")) {
865 ret = window->surface->SetUserData("OH_HDR_METADATA_TYPE", param);
880 static GSError OH_NativeWindow_GetMatedataValueType(OHNativeWindow *window, int32_t *size, uint8_t **metadata)
882 std::string value = window->surface->GetUserData("OH_HDR_METADATA_TYPE");
905 int32_t OH_NativeWindow_GetMetadataValue(OHNativeWindow *window, OH_NativeBuffer_MetadataKey metadataKey,
908 if (window == nullptr || metadata == nullptr || size == nullptr || window->surface == nullptr) {
914 std::string value = window->surface->GetUserData("OH_HDR_DYNAMIC_METADATA");
918 std::string value = window->surface->GetUserData("OH_HDR_STATIC_METADATA");
922 ret = OH_NativeWindow_GetMatedataValueType(window, size, metadata);