Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

[CGD2D] Merge develop from 2016-11-10.#1354

Merged
DHowett-MSFT merged 33 commits into
CGD2Dfrom
20161110-cgd2d-develop-merge
Nov 11, 2016
Merged

[CGD2D] Merge develop from 2016-11-10.#1354
DHowett-MSFT merged 33 commits into
CGD2Dfrom
20161110-cgd2d-develop-merge

Conversation

@DHowett-MSFT

@DHowett-MSFT DHowett-MSFT commented Nov 10, 2016

Copy link
Copy Markdown
Conflicts:
    Frameworks/CoreGraphics/CGBitmapImage.mm
    Frameworks/CoreGraphics/CGContext.mm
    Frameworks/QuartzCore/CALayer.mm
    Frameworks/UIKit/StarboardXaml/CompositorInterface.mm
    Frameworks/include/CGIWICBitmap.h

Changes required:

  • CGBitmapImage has been removed entirely.
  • Surface Format has been dropped from CGBitmapContext and CGIWICBitmap, as the render target is controlled elsewhere.
  • Compositor had a conflict in the #include lines.

This change is Reviewable

ms-jihua and others added 30 commits October 26, 2016 17:47
NSURL changes for special filepath for Storage Files

Description:
This change adds the ability to create an NSURL with a Storage File and do all the
things one would expect to be able to accomplish with it like reading and writing
NSData and NSStreams. This is accomplished by making use of remnants of a "direct file"
url and the Windows FutureAccessCache to retreive the file at a later point.

EbrFile is refactored, minimized, and then extended to work with Storage Files.

How verified:
New functional test
* Properly get font family name for uilabels

* Make private extension for compatible family name

* Remove extra test

* Stop copying string

Getting the Font Family Name from DWrite would for certain fonts return a different value than Xaml expects, causing Segue to be used as a default.

Partially fixes #1217
Description:
A recent change regressed the CAF decoder work due to a few small issues.
This change address those as follows:
1. Fixes subscript out of bounds on Debug due to misuse of reserve vs resize
2. Fixes divide by 0 due to incorrect struct size with variable length array.
3. Fixes infinite loop due to issue with setup of number of packets to read. That
code is still incredibly obtuse for whats its doing and should be refactored at a later
point for maintainability.

How verified:
Sample app launches now. There was much rejoicing.
- Disabled a related unit test
 - Revert this change when #1250 is finished

Fixes #1251
Still seeing sporadic failures on ARM only likely due to flaky connections and attempting to download large (100Mb) files from real endpoints in a small (10s) interval.
* Fix improper retain level on return in [UIFont initWithCoder]

Fixes #1260

* cr feedback

* == 0
Use more portable _countof alternative

Description:
_countof is a microsoft specific array size helper. Move instead to a standard library approach. Additionally fix small unititalized memory issue.

How Verified:
Builds and passes
* Fix scaling and translation text drawing issues

* Address CR feedback

* Address CR feedback and handle high dpi correctly
Description:
These tests also used floor instead of round and it turns out the expected size was 11Mb. Oops.
* Fix rotation and nslayout line drawing

* Remove descent and add comment

* Add CTCatalog page for testing CTM transformation

* Add new test page to xcodeproj

* Address CR feedback

* Remove vestigial colorspace

Fixes incorrect rotation introduced by my recent math changes and adds descent to nslayoutmanager line drawing to make exclusion zones more accurate

Fixes #1275
* Add skeleton test to XAMLCatalog for Custom Edit control.

* Add Custom Text Edit sample to XAMLCatalog

Sample is based on CoreTextEditContext. It demonstrates:

1. Robustness of Xaml projections
2. Event registration and deregistration
3. Using a Xaml control to gain focus
4. Cooperative interoperability between Xaml and WinObjC
5. Custom input handling and rendering

Certainly there are a few bugs, but the sample is intended to be used a
stepping stone for adding custom text editing supoport to an Islandwood
app.

* Fix a few fit-and-finish issues with CustomTextEdit sample.

* Clang-format text edit sample.

* Fit and finish for Custom Text Control sample. Fix some comments and type
conflicts.
…s. (#1295)

The heap corruption happened in an internal test app.

The fix is to use BGRX pixel format for opaque layers - this is supported
by WIC render target.
It seems our drawing implementation was overcomplicated, doing unnecessary transformations which made assumptions about the state of the context which were not always true. Removes now unnecessary private drawing functions and removes ascent as well as simplifying CGContextDrawGlyphRun.

Fixes #1290
Update from using simplistic mapping using the font's symbolic traits, which ignored stretch,
to getting the weight/stretch/style directly from the font.

UILabel-rendered narrow or condensed fonts were previously clipped at the sides
because the CoreText-calculated width would be for a narrow font, but UILabel would attempt to render a normal font.
* Fix infinite loop in __CreateDWriteTextLayout

* Clang format acting up
…1313)

* Adds support for calling non-nullary constructors on the new CF Type.
* Removes the _CFFinalize chain.
* Removes the _CFInitialize chain.
* Uses some dodgy methods to work around the undefined behavior
  inherent in placement-newing a block of partially-initialized memory
* Adds tests!
Adds support for kCTParagraphStyleSpecifierLineHeightMultiple. DWrite only allows line height multiples if the line height is kept constant through the frame, which is not guaranteed, so we need to manually manipulate the line origins. Also removes the redundant line origin variable in _CTLine.

Fixes #1090

* Support kCTParagraphStyleSpecifierLineHeightMultiple

* Address CR feedback

* More CR feedback

* Address CR feedback
…ollveiwer (#1305)

* Implement DMGestureRecognizer to start/stop directmanipluatio on scrollviewer
so that other gestures attached to subviews inside UIScrollview can be properly triggered

* Fix wrong index

* More correction

* comments

* comments

* revert accidental change

* more comments

* comments

* remove unused variable
Updating template to ignore extern-initialize warning since the ABI headers generated by MIDL initialize GUID's.
Now support kCTLineBreakByWordWrapping, kCTLineBreakByCharWrapping, and kCTLineBreakByClipping. Also adds a helper file for unit tests to use default testing macros with CG/CF structs.

* Support multiple line break modes

* Change default for truncation

* Fix silly mistake
Update to newer SDK for projections.
* Implement CTFontCreatePathForGlyph
 - Minor style changes to CTFont.mm

Fixes #922

* cr feedback

* CR feedback, added a test app page for visual verification

* fix minor mistakes in test app changes
This change allows a compliant Unit Test project to inherit much/all of its common build logic
from UT.common.mk.

It is used as follows:
    # Makefile
    UT_NAME = Foundation
    # Built from every .m and .mm file in this directory.
    UT_FILES := $(wildcard *.m) $(wildcard *.mm)
    # "Resources" are copied directly into the output directory.
    # By specifying the data directory, we ensure that we get out/data.
    UT_RESOURCES := data
    include ../UT.common.mk
Conflicts:
    Frameworks/CoreGraphics/CGBitmapImage.mm
    Frameworks/CoreGraphics/CGContext.mm
    Frameworks/QuartzCore/CALayer.mm
    Frameworks/UIKit/StarboardXaml/CompositorInterface.mm
    Frameworks/include/CGIWICBitmap.h
@aballway

Copy link
Copy Markdown
Contributor

:shipit:

@ms-jihua

Copy link
Copy Markdown
Contributor

Frameworks/include/CGIWICBitmap.h was called out as a conflict but I don't see it in the diff?

@DHowett-MSFT

Copy link
Copy Markdown
Author

I do not believe it changed after conflict resolution.

@DHowett-MSFT

Copy link
Copy Markdown
Author

Please hold off on this review: it requires another merge to build.

@DHowett-MSFT

Copy link
Copy Markdown
Author

Okay, this is safe for more review. :P

@DHowett-MSFT DHowett-MSFT merged commit bfe87c4 into CGD2D Nov 11, 2016
@DHowett-MSFT DHowett-MSFT deleted the 20161110-cgd2d-develop-merge branch November 11, 2016 02:34
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.