XPS, DM: add SkDocument::CreateXPS

-   SkDocument::CreateXPS() function added, returns NULL on non-Windows OS.

-   DM: (Windows only) an XPSSink is added, fails on non-Windows OS

-   DM: Common code for PDFSink::draw and XPSSink::draw are factored into
    draw_skdocument static function.

-   SkDocument_XPS (Windows only) implementation of SkDocument via
    SkXPSDevice.

-   SkDocument_XPS_None (non-Windows) returns NULL for
    SkDocument::CreateXPS().

-   gyp/xps.gyp refactored.

-   SkXPSDevice::drawTextOnPath removed (see http://crrev.com/925343003 )

-   SkXPSDevice::drawPath supports conics via SkAutoConicToQuads.

Review URL: https://codereview.chromium.org/963953002
diff --git a/gyp/xps.gyp b/gyp/xps.gyp
index 080dc62..4a301b6 100644
--- a/gyp/xps.gyp
+++ b/gyp/xps.gyp
@@ -5,56 +5,43 @@
       'product_name': 'skia_xps',
       'type': 'static_library',
       'standalone_static_library': 1,
-      'dependencies': [
-        'skia_lib.gyp:skia_lib',
-        'sfnt.gyp:sfnt',
-      ],
-      'include_dirs': [
-        '../include/device/xps',
-        '../include/utils/win',
-        '../src/core', # needed to get SkGlyphCache.h
-        '../src/utils', # needed to get SkBitSet.h
-      ],
-      'sources': [
-        '../include/device/xps/SkConstexprMath.h',
-        '../include/device/xps/SkXPSDevice.h',
-
-        '../src/device/xps/SkXPSDevice.cpp',
-      ],
       'conditions': [
         [ 'skia_os == "win"', {
+          'defines': [ 'SK_XPS_USE_DETERMINISTIC_IDS', ],
+          'dependencies': [
+            'skia_lib.gyp:skia_lib',
+            'sfnt.gyp:sfnt',
+          ],
+          'include_dirs': [
+            '../include/device/xps',
+            '../include/utils/win',
+            '../src/core', # needed to get SkGlyphCache.h
+            '../src/utils', # needed to get SkBitSet.h
+          ],
+          'sources': [
+            '../include/device/xps/SkConstexprMath.h',
+            '../include/device/xps/SkXPSDevice.h',
+            '../src/device/xps/SkXPSDevice.cpp',
+            '../src/doc/SkDocument_XPS.cpp',
+          ],
           'link_settings': {
             'libraries': [
               '-lt2embed.lib',
               '-lfontsub.lib',
             ],
           },
+          'direct_dependent_settings': {
+            'defines': [ 'SK_XPS_USE_DETERMINISTIC_IDS', ],
+            'include_dirs': [
+              '../include/device/xps',
+              '../src/utils', # needed to get SkBitSet.h
+            ],
+          },
         },{ #else if 'skia_os != "win"'
-          'include_dirs!': [
-            '../include/utils/win',
-          ],
-          'sources!': [
-            '../include/device/xps/SkXPSDevice.h',
-
-            '../src/device/xps/SkXPSDevice.cpp',
-          ],
+          'sources': [ '../src/doc/SkDocument_XPS_None.cpp', ],
+          'dependencies': [ 'skia_lib.gyp:skia_lib', ],
         }],
       ],
-      # This section makes all targets that depend on this target
-      # #define SK_SUPPORT_XPS and have access to the xps header files.
-      'direct_dependent_settings': {
-        'conditions': [
-          [ 'skia_os == "win"', {
-            'defines': [
-              'SK_SUPPORT_XPS',
-            ],
-          }],
-        ],
-        'include_dirs': [
-          '../include/device/xps',
-          '../src/utils', # needed to get SkBitSet.h
-        ],
-      },
     },
   ],
 }