| 389 | | // deprecated |
| 390 | | void pp_media(boolean ignore): |
| 391 | | { |
| 392 | | boolean pass = false; |
| 393 | | boolean q; |
| 394 | | boolean empty = true; |
| 395 | | } |
| 396 | | { |
| 397 | | { |
| 398 | | if (sheet != null) { |
| 399 | | String msg = tr("Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use ''{2}'' instead.", |
| 400 | | "@media", sheet.getDisplayString(), "@supports"); |
| 401 | | Logging.error(msg); |
| 402 | | sheet.logWarning(msg); |
| 403 | | } |
| 404 | | } |
| 405 | | <PP_MEDIA> pp_w() |
| 406 | | ( q=pp_media_query() { pass = pass || q; empty = false; } |
| 407 | | ( <COMMA> pp_w() q=pp_media_query() { pass = pass || q; } )* |
| 408 | | )? |
| 409 | | <LBRACE> |
| 410 | | pp_black_box((empty || pass) && !ignore) |
| 411 | | <RBRACE> |
| 412 | | } |
| 413 | | |
| 414 | | // deprecated |
| 415 | | boolean pp_media_query(): |
| 416 | | { |
| 417 | | Token t; |
| 418 | | String mediatype = "all"; |
| 419 | | boolean pass = true; |
| 420 | | boolean invert = false; |
| 421 | | boolean e; |
| 422 | | } |
| 423 | | { |
| 424 | | ( <PP_NOT> { invert = true; } pp_w() )? |
| 425 | | ( |
| 426 | | t=<IDENT> { mediatype = t.image.toLowerCase(Locale.ENGLISH); } pp_w() |
| 427 | | ( <PP_AND> pp_w() e=pp_media_expression() { pass = pass && e; } pp_w() )* |
| 428 | | | |
| 429 | | e=pp_media_expression() { pass = pass && e; } pp_w() |
| 430 | | ( <PP_AND> pp_w() e=pp_media_expression() { pass = pass && e; } pp_w() )* |
| 431 | | ) |
| 432 | | { |
| 433 | | if (!"all".equals(mediatype)) { |
| 434 | | pass = false; |
| 435 | | } |
| 436 | | return invert ? (!pass) : pass; |
| 437 | | } |
| 438 | | } |
| 439 | | |
| 440 | | /** |
| 441 | | * Parse an @media expression. |
| 442 | | * |
| 443 | | * The parsing rule {@link #literal()} from the main mapcss parser is reused here. |
| 444 | | * |
| 445 | | * @return true if the condition is fulfilled |
| 446 | | * @throws ParseException in case of parsing error |
| 447 | | */ |
| 448 | | // deprecated |
| 449 | | boolean pp_media_expression(): |
| 450 | | { |
| 451 | | Token t; |
| 452 | | String feature; |
| 453 | | Object val = null; |
| 454 | | } |
| 455 | | { |
| 456 | | <LPAR> pp_w() t=<IDENT> { feature = t.image; } pp_w() ( <COLON> pp_w() val=literal() )? <RPAR> |
| 457 | | { return this.sheet.evalSupportsDeclCondition(feature, val); } |
| 458 | | } |
| 459 | | |