/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * 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/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef INCLUDED_TOOLS_PATHUTILS_HXX #define INCLUDED_TOOLS_PATHUTILS_HXX #include #if defined(_WIN32) #include #define WIN32_LEAN_AND_MEAN #include // The compiled code is not part of the tl dynamic library, but is delivered as // pathutils-obj and pathutils-slo objects (it is linked into special // executables and dynamic libraries that do not link against OOo libraries): namespace tools { /** Determine the filename part of a path. @param path A non-NULL pointer to a null-terminated path. @return A pointer to the trailing filename part of the given path. */ WCHAR * filename(WCHAR * path); /** Concatenate two paths. Either the first path is empty and the second path is an absolute path. Or the first path is an absolute path that ends in a backslash and the second path is a relative path. In the latter case, to avoid paths that grow too long, leading .. segments of the second path are removed together with trailing segments from the first path. This should not cause problems as long as there are no symbolic links on Windows (as with symbolic links, x\y\.. and x might denote different directories). @param path An output parameter taking the resulting path; must point at a valid range of memory of size at least MAX_PATH. If NULL is returned, the content is unspecified. @param frontBegin, frontEnd Forms a valid range [frontBegin .. frontEnd) of less than MAX_PATH size. @param backBegin, backLength Forms a valid range [backBegin .. backBegin + backLength) of less than MAX_PATH size. @return A pointer to the terminating null character of the concatenation, or NULL if a failure occurred. */ WCHAR * buildPath( WCHAR * path, WCHAR const * frontBegin, WCHAR const * frontEnd, WCHAR const * backBegin, std::size_t backLength); } #endif #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /co-24.04.11 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2020-05-22Related: tdf#132536 drop FreetypeManager FreetypeFont cachingCaolán McNamara
2020-05-04remove old Skia text render methods that do not use Skia directlyLuboš Luňák
2020-04-15add an IsEmpty method to tools::Size and use itNoel Grandin
2020-03-25make sure only VCL-Skia or VCL-OpenGL is enabled (tdf#131543)Luboš Luňák
2020-03-18fix glyph rotation for Skia text rendering on WindowsLuboš Luňák
2020-03-18implement text rendering using directly Skia (X11)Luboš Luňák
2020-03-12rework Skia setupLuboš Luňák
2020-02-10add (Vulkan) blacklisting to SkiaLuboš Luňák
2020-02-07add Skia crash zone checkingLuboš Luňák
2020-01-20workaround for Skia+Cairo text drawing exhausting GPU memoryLuboš Luňák
2019-12-06use SkBitmap::setImmutable() where suitableLuboš Luňák
2019-11-27use the native Skia color Type when using VulkanLuboš Luňák
2019-11-27make Skia GPU offscreen surfaces work with unittestsLuboš Luňák
2019-11-27do not use Xlib for accessing something that is not an X windowLuboš Luňák
2019-11-27make Skia VCL backend fall back to raster if vulkan doesn't workLuboš Luňák
2019-11-27fix Skia offscreen GPU-backed drawingLuboš Luňák
2019-11-27avoid repeated SkSurface recreating because of X11 being asynchronousLuboš Luňák
2019-11-27use center of pixels when doing GPU drawing using SkiaLuboš Luňák
2019-11-27make SkiaSalGraphicsImpl use GPU-backed SkSurface also for offscreenLuboš Luňák
2019-11-27pre-fill Skia bitmaps/surfaces with garbage in dbgutil modeLuboš Luňák
2019-11-27fix Skia text color on X11Luboš Luňák
2019-11-27add a TODO note about Skia Vulkan surface getting recreated too oftenLuboš Luňák
2019-11-27more safe handling of destroying Skia surfaces/contextsLuboš Luňák
2019-11-27fix warning from loplugin:datamembershadowLuboš Luňák
2019-11-27remove some obsolete Skia TODO'sLuboš Luňák
2019-11-27make Skia use either Raster or Vulkan, depending on a settingLuboš Luňák
2019-11-27delete Skia WindowContext only after the SkSurface it has createdLuboš Luňák
2019-11-27allocate Skia SkSurface on demandLuboš Luňák
2019-11-27update Skia to chrome-m79Luboš Luňák
2019-11-27make X11/Skia render to screen using Skia codeLuboš Luňák
2019-11-27implement skia x11 cairo text drawingLuboš Luňák
2019-11-27make the X11/Skia backend finally capable of drawing on screenLuboš Luňák
2019-11-27implement skia copyBits()Luboš Luňák
2019-11-27initial work on Skia SalGraphicsLuboš Luňák
2019-11-27initial empty Skia VCL implementationLuboš Luňák